问题
单项选择题
已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为
友元函数。要使语句序列
Myst x(3.2),y(5.5),z(0.0);
z=8.9-y;
y=x-6.3;
能够正常运行,运算符函数operator-应该在类中声明为( )。
A.friend Myst operator-(Myst&,Myst&);
B.friend Myst operator-(Myst,Myst);
C.friend Myst operator-(Myst,Myst&);
D.friend Myst operator-(Myst&,Myst);
答案
参考答案:B
解析: 本题考核运算符的重载运算符作为类友元函数重载的格式为:friend<类名>operator<运算符>(<形参表>):同时形参表中不要使用类对象的引用。由此可知只有B选项符合条件。