运算符重载在类的内外,取决于操作数所处的位置
1 c = c + 1.2; // 等价 c = c.operator+(1.2) 或者 c = operator+(c, 1.2); 2 c = 1.2 + c; // 等价 c = operator+(1.2, c);
上面的情况可重载 operator+ 为成员函数或者类外的函数
下面的情况就只能重载为类外的函数
!注:运算符重载在类外,一般要声明为类的友元,因为有可能牵扯到访问类的私有成员。
原文:https://www.cnblogs.com/harrypotterisdead/p/14621487.html