我正在考虑在重载时返回对象的引用+ =在'+'的情况下返回值?
答案 0 :(得分:4)
您将这些运算符重载为:
class X
{
public:
X& operator+=(const X& rhs) { ...; return *this; }
};
X operator+(X lhs, const X& rhs)
{
return lhs += rhs;
}
答案 1 :(得分:0)
+
应该返回一个新值。
答案 2 :(得分:0)
你可以和平地宣布
class Class
{
public:
void operator +=(const Class& obj) ;
} ;
并避免像a += b += c
这样的隐含代码。