将x+y*z中的“+”用成员函数重载,“*”是友元函数重载应写为( )。
A.operator+(operator*(y,z))B.x.operator+(operator*(y,z))C.x.operator+(X*(y,z))D.x+(op...
A.operator+(operator*(y,z))
B.x.operator+(operator*(y,z))
C.x.operator+(X*(y,z))
D.x+(operator*(y,z)) 展开
B.x.operator+(operator*(y,z))
C.x.operator+(X*(y,z))
D.x+(operator*(y,z)) 展开
展开全部
【答案】:B
B。【解析】在定义了重载运算符后的函数后,函数operator+重载了运算符“+”。如果在类以外的其他地方定义了一个函数,在类体中用friend对该函数进行声明,此函数就称为本类的友元函数。“*”用友元函数重载就是运算符函数不作为成员函数,而把它放在类外,“*”被改写为“operator*”。“+”为成员函数重载,X.operator+。所以“x+y*z”被改写为“x.operator+(operator*(y,z))”。
B。【解析】在定义了重载运算符后的函数后,函数operator+重载了运算符“+”。如果在类以外的其他地方定义了一个函数,在类体中用friend对该函数进行声明,此函数就称为本类的友元函数。“*”用友元函数重载就是运算符函数不作为成员函数,而把它放在类外,“*”被改写为“operator*”。“+”为成员函数重载,X.operator+。所以“x+y*z”被改写为“x.operator+(operator*(y,z))”。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询