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

admin2010-12-16  33

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

选项

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

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

最新回复(0)