ここに私のコードです。問題は、私は、デストラクタでゼロにクラスの配列を割り当てていて、私は私のプログラムでは演算子のオーバーロードを行うときにデストラクタが呼び出されて、あなたがこのように動けなくなる場合は、私の配列は自動的に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";
}
"this"のコピーを返します。 – FedeWar
@FedeWarどうすればこの問題を取り除くことができますか? –
最小の実例が必要です。 – FedeWar