运算符重载

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);// 友元函数版本

 

posted @ 2020-03-10 20:02  HaHahahahaaaa  阅读(130)  评论(0编辑  收藏  举报