运算符重载

Time operator+(const Time &t) const;   //成员函数版本

friend Time operator+(const Time &t1, const Time &t2);  // 友元版本

对于成员函数版本来说, 一个操作数通过this指针隐式传递, 另一个操作数作为参数传递。 可以理解成 : this.operator+(t) 

对于友元来说,两个操作数都作为参数来传递。

例如: 假设T2+T3都满足匹配,那么

T1 = T2 +  T3 会转化成下面的其中一个:

T1 = T2.operator+(T3);  //成员函数版本

T1 = operator(T2 + T3);// 友元函数版本
原文地址:https://www.cnblogs.com/weishuan/p/12458209.html