将x+y*z中的“+”用成员函数重载,“*”是友元函数重载应写为()。

11 查阅

将x+y*z中的“+”用成员函数重载,“*”是友元函数重载应写为( )。

A.operator+(operator*(y,z))

B.x.operator+(operator*(y,z))

C.x.operator+(X*(y,z))

D.x+(operator*(y,z))

参考答案:

B解析: 在定义了重载运算符后的函数后,函数Operator+重载了运算符“+”。如果在类以外的其他地方定义了一个函数,在类体中用 friend对该函数进行声明,此函数就称为本类的友元函数。“*”用友元函数重载就是运算符函数不作为成员函数,而把它放在类外,“*”被改写为“operato*”。“+”为成员函数重载,x.operator+。所以x+y*2被改写为“x,operator+(operator *(y,z))”。

计算机二级