, (a+a) rvalue ( ). - r-, - const. , , , operator+ alwasys .
:
A operator+( const A& ) const;
A operator+( int m ) const;
, , , :
class A { ... };
A operator+(const A& lhs, const A& rhs);
A operator+(const A& lhs, int rhs);
operator+=, :
class A {
public:
A& operator+=(const A& rhs);
A& operator+=(int rhs);
};
inline A operator+(A lhs, const A& rhs)
{
lhs += rhs;
return lhs;
}
A operator+(A lhs, int rhs)
{
lhs += rhs;
return lhs;
}