问题
单项选择题
如果表达式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)。