C++なら俺に聞け(入門篇)
■ このスレッドは過去ログ倉庫に格納されています
0301デフォルトの名無しさん
2006/12/22(金) 21:59:51演算子のオーバーロードで、インクリメント演算子を
前置と後置用でそれぞれ定義した場合、クラスのメンバにそれぞれインクリメントするようにしたんだけど、
A A::operator ++(){
this->x++;
this->y++;
return *this;
}
A A::operator ++(int nouse){
this->x++;
this->y++;
return *this;
}
例えばob2(1,1)の場合,ob1 = ++ob2;とすると、結果ob1(2,2),ob2(2,2)になるのですが、
ob1 = ob2++;この場合、後置だからob1(1,1),ob2(2,2)の結果にするにはどのようにすればいいですか?
上記だと後置のオーバーロードでもob2++が評価されてから、ob1に代入されてしまいますし・・。
■ このスレッドは過去ログ倉庫に格納されています