0
大家好我試着寫了這個類的賦值運算符,所以我可以這樣int[] = {0, 1, 2, 3}
數組分配給我的Tableau類C++賦值運算符重載
本來我想做到這一點
Tableau<T>& operator=(T arr[])
{
return Tableau(tab, sizeofarray);
}
,因爲我已經寫了一個構造函數,其數組和大小作爲它的參數
和我遇到了一個問題,數組的大小我不知道如何找到它 我如何找到大小的陣列或是否有更好的方式來做到這一點
template<typename T>
class Tableau
{
public:
Tableau(int s = 0) : size(s), ptr(new T[size])
{
for (int i = 0; i < size; i++)
{
ptr[i] = 0;
}
}
Tableau(T tab[], int s = 0) : size(s), ptr(new T[size])
{
for (int i = 0; i < size; i++)
{
ptr[i] = tab[i];
}
}
~Tableau()
{
delete[] ptr;
}
Tableau<T>& operator=(T tab[])
{
}
T commule()
{
T com = 0;
for (int i = 0; i < size; i++)
{
com += ptr[i];
}
return com;
}
T& operator[](const int index)
{
return ptr[index];
}
private:
int size;
T* ptr;
};
int main()
{
int k[] = { 8, 12, 5, 9, 55};
Tableau<int> TI(k, 2);
TI = k;
return 0;
}
'template'爲了便攜。 –
kfsone
謝謝你的回答 請詳細說明一下,如果你可以 – user259584
@ user259584,我在答案中增加了一些信息。 –