问题 填空题

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

答案

参考答案:x.operator+(operator*(y,z))。

解析: 运算符重载为成员函数的形式:函数类型operator运算符(形参表){函数体;};运算符重载为友元函数的形式:friend函数类型operator运算符(形参表){函数体;}。一般来讲,单目运算符最好重载为成员函数,双目运算符最好重载为友元函数。运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即y.operator*(z)或者operator*(y,z);另一种是通过运算符构成表达式,即y*z。

单项选择题
单项选择题 B1型题