连续赋值x=y=z=15相当于x=(y=(z=15))
所以为了实现连续赋值需要返回一个reference实参指向操作符左侧实参.
通常做法:
class Widget{
public:
...
Widget& operator=(const Widget& rhs)
{
....
return* this;
}
....
};
+=,*=,-=等同.
连续赋值x=y=z=15相当于x=(y=(z=15))
所以为了实现连续赋值需要返回一个reference实参指向操作符左侧实参.
通常做法:
class Widget{
public:
...
Widget& operator=(const Widget& rhs)
{
....
return* this;
}
....
};
+=,*=,-=等同.