Привет всем я пытаюсь написать оператор присваивания для этого класса, так что я могу назначить массив как этот 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, я добавил немного больше информации в ответ. –