Вот мой код. Проблема я задаю массив класса до нуля в деструкторе и когда я перегружать оператор в моей программе вызывается деструктор и мои массивы автоматически присваивается 0.Деструктор вызывается при перегрузке оператора
//Overloading Plus Operator
Array Array::operator +(Array &obj)
{
for (int i = 0; i < 10; i++)
{
this->arr[i] = this->arr[i] + obj.arr[i];
}
return *this;
}
//Overloading Minus Operator
Array Array::operator -(Array obj)
{
for (int i = 0; i < 10; i++)
{
this->arr[i] = this->arr[i] - obj.arr[i];
}
return *this;
}
//Overloading Assignment Operator
void Array::operator =(Array &obj)
{
for (int i = 0; i < 10; i++)
{
arr[i] = obj.arr[i];
}
}
//Class Destructor
Array::~Array()
{
cout << "\n\nDeleting Object " << this->objNum << "\n";
for (int i = 0; i < 10; i++)
{
arr[i] = 0;
}
cout << "\n\n";
}
Вы возвращаете копию «этого». – FedeWar
@FedeWar, так как он может избавиться от этой проблемы? –
Нам нужен минимальный рабочий пример. – FedeWar