问题 单项选择题

已知类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

解析: 此题需要注意的是,运算符重载函数的两个参数,应该是类Myst的对象,而不是引用,所以正确的声明语句是friend Myst operator-(Myst,Myst);。

单项选择题
单项选择题