C++相談室 part78
■ このスレッドは過去ログ倉庫に格納されています
0336デフォルトの名無しさん
2010/02/24(水) 18:30:19独習C++という本で勉強しているのですが、以下のようなサンプルコードがあります。(※一部省略)
class coord{
int x,y;
public:
coord(){x=0;y=0;}
coord operator-(coord ob2);//2項負符号
coord operator-();//単項負符号
};
//単項-をcoordクラスに対してオーバーロードする
coord coord::operator-(){
x=-x;
y=-y;
return *this;
}
上記の場合、
coord ob1;
coord ob2;
ob2=-ob1;
としただけで、ob1の内容が変わってしまうと思うのですが、
このサンプルコードは正しいのでしょうか?
以下のほうがいいと思うのですが。
//単項-をcoordクラスに対してオーバーロードする
coord coord::operator-()
{
coord temp;
temp.x=-x;
temp.y=-y;
return temp;
}
■ このスレッドは過去ログ倉庫に格納されています