问题 单项选择题

如果表达式x * y + z中,“ * ”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为 ( )。

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

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

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

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

答案

参考答案:A

解析:C++中用成员函数重载x*y为:x.operator * (y),用友元函数重载x*y为:operator *(x,y),用成员函数重载x/y为:x.operator+(y),用友元函数重载 x + y为:operator+(x,y)。

多项选择题
不定项选择