如何重载+ = - = * =等

时间:2011-03-03 09:35:34

标签: c++ operator-overloading

  

可能重复:
  C++ — How to overload operator+=?

我正在考虑在重载时返回对象的引用+ =在'+'的情况下返回值?

3 个答案:

答案 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这样的隐含代码。