注册 登录
编程论坛 C++教室

一道二级的题目

小编程员 发布于 2009-07-31 23:34, 530 次点击
已知类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);

请大大们帮我解决下!多谢啦!

[[it] 本帖最后由 小编程员 于 2009-8-1 10:21 编辑 [/it]]
4 回复
#2
tinjp2009-08-01 16:47
貌似是B吧,8.9和6.3都是浮点数,而参数列表中都是Myst,所以应该不用引用,让其在参数传递时自动调用构造函数构造新的对象。
#3
小编程员2009-08-01 17:12
以下是引用tinjp在2009-8-1 16:47的发言:

貌似是B吧,8.9和6.3都是浮点数,而参数列表中都是Myst,所以应该不用引用,让其在参数传递时自动调用构造函数构造新的对象。

是的,谢谢啦!
#4
pangding2009-08-01 18:06
回复 3楼 小编程员
嗯,我也觉得是B
#5
黯然神伤2009-08-01 23:02
是B没错
1