问题 单项选择题

如果表达式“--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+(c1,c2)”与“c1+c2”含义相同。同理,运算符“/”作为友元函数重载,则“(--x)/y”与表达式“operator/((--x),y)”相同。前缀运算符“--”作为友元函数重载,则“--x与operator--(x)”相同,所以组合起来是“operator/(operator--(x),y);”,即B选项。

单项选择题 B型题
判断题