如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为( )。

admin2013-05-30  31

问题 如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为(    )。   

选项 A、operator/(x.operator--(),y);
B、operator/(operator--(x),y);
C、x.operator--().operator/(y);
D、y.operator/operator--(x));

答案B

解析  本题考查运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且c1、c2都是该类的对象,则c1.operator+(c2)与c1+c2含义相同。如果+作为该类的非成员函数重载,则operator+{(cl,c2)与cl+c2含义相同。同理,运算符“/”作为友元函数重载,则(--x)/y与表达式operator/((--x),y)相同。前缀运算符“--”作为友元函数重载,则--x与operator--(x)相同,所以组合起来是operator/(operator--(x),y);,即B选项。
转载请注明原文地址:https://kaotiyun.com/show/KBNp777K
0

最新回复(0)