c++类编程题

[复制链接]
查看11 | 回复5 | 2013-4-13 10:37:42 | 显示全部楼层 |阅读模式
Rational R_add(Rational & A); 这是一个加的函数,那么Rational & A代表什么?为什么void R_div(Rational & A, Rational &B);中是Rational & A, Rational &B? &表示引用,&A就是直接引用A,而不是生成它的一个copy.Rational R_add(Rational & A); 你也可以换为Rational R_add(RationalA); 不过,这样一来效率就变低了:R_add先申请一个Rational对象的内存,然后复制A, 然后用这个复制品进行加法运算。相比之下,Rational R_add(Rational & A)...
回复

使用道具 举报

千问 | 2013-4-13 10:37:42 | 显示全部楼层
“Rational & A”中的Rational表示你定义的那个类,而Rational R_add(Rational & A) 表示该函数R_add返回值是类Rational的一个对象,他的形参是类Rational的一个引用。这里你应该是不明白“引用的概念”。没有什么特别的,申明变量为引用的话你可以在调用的这个子函数中修改你传进来的那个形参的值。建议你自己找...
回复

使用道具 举报

千问 | 2013-4-13 10:37:42 | 显示全部楼层
因为传递进去的参数是对象,Rational R_add(Rational & A)在这个函数体中,使用A.m获取分母值,使用A.n获取分子的值。...
回复

使用道具 举报

千问 | 2013-4-13 10:37:42 | 显示全部楼层
Rational类的引用,比再创建 Rational的类效率高...
回复

使用道具 举报

千问 | 2013-4-13 10:37:42 | 显示全部楼层
是引用,我也初学...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行