新的概念:类友元形式的运算符重载
- 由于友元函数可以访问类的私有成员和保护成员,为了方便,类非成员函数形式的运算符重载函数一般采用友元函数。
- 运算符重载为类的友元函数,需要在类内进行声明。声明类的友元运算符重载的形式为:
friend <函数类型> operator <运算符>(<参数表>)
- 当运算符重载为类的友元函数时,由于没有隐含的this指针,因此操作数的个数没有变化,所有的操作数都必须通过函数的形参进行传递,函数的参数与操作数自左向右一一对应。
- 调用友元函数运算符的形式如下:
<参数1><参数2><参数3>
它等价于
operator <运算符>(<参数1>,<参数2>)
示例说明:利用友元运算符重载函数实现两个复数对象的加法运算
//Complex.h
class Complex
{
pu