A-A+

如果表达式“--x/y”中的“--”和“/”是作为友元函数重载的运算符 采用运算符函数调用格

2022-08-06 00:59:09 问答库 阅读 174 次

问题详情

如果表达式“--x/y”中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为()。
A.operator/(X.operator--(),y);
B.operator/(operator--(x),y);
C.X.operator--().operator/(y);
D.y.operator/operator--(x));请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
B。【解析】本题考查运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则“c1.operator+(c2)”,与“c1+c2”含义相同。如果+作为该类的非成员函数重载,则“operator+(c1,c2)”与“c1+c2”含义相同。同理,运算符“/”作为友元函数重载,则“(--x)/y”与表达式“operator/((--x),y)”相同。前缀运算符“--”作为友元函数重载,则“--X与operator--(x)”相同,所以组合起来是“0perator/(operator--(x),y);”,即B选项。

考点:函数,表达式