Geo*_*Shg 1 c++ overloading class
这是一个非常基本的运算符过载问题.说我有这样的课......
class xy
{
public:
double x, y;
XY(double X, double Y) { x = X; y = Y;}
XY operator+(const XY & add) const {
return XY(this->x + add.x, this->y + add.y);
}
XY & operator+=(const XY & add) const {?}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望operator + = do做它应该做的事情(你知道,添加到x和y的当前值).运算符+和运算符+ =的代码不一样吗?
它怎么可能一样?他们做不同的事情.
如果您不关心可以+=在+运算符实现中使用的优化:
XY operator + (const XY& right) const
{
XY left(*this);
left += right;
return left;
}
Run Code Online (Sandbox Code Playgroud)