【发布时间】:2016-06-09 14:39:02
【问题描述】:
我被下面的例子弄糊涂了:
class complex {
double re, im;
public:
complex(double r, double i) : re{r}, im{I} ()
complex& operator+= (const complex&z) { re += z.re; im += z.im; return *this; }
};
我不明白为什么operator += 的返回类型是引用,因为re 和im 正在更新。我也不明白为什么要包含*this。
【问题讨论】:
-
我不明白你为什么认为
re和im的更新与返回类型有关。return *this;存在是因为*this是函数返回引用的对象。