小众知识

首页 > 正文

关于运算符重载问题!!!

下面哪个才是引用返回??看钱能的教材讲的牛头不对马嘴!
rmb operator + (rmb&s,rmb&h)
{unsigned int jf=s.jf+h.jf;
unsigned int yuan=s.yuan+h.yuan;
rmb result(yuan,jf);
return result;}



rmb operator = (rmb&s)
{yuan=s.yuan;
 jf=s.jf;}

 

 SunGrazer 发表于:2003-07-31 12:00:50
得分:0 

无人解答? 

 lieyanfriend 发表于:2003-07-31 12:14:28
得分:20 

兄弟怎么说这种话。
两个都不是引用返回的。如果是那应该是这样:
rmb& operator=(rmb&s);
只是加了"&"字符才是引用返回的。 

 jscsqb 发表于:2003-07-31 12:19:14
得分:0 

第一个是值返回,也就是临时创建了一个rmb 对象,并将完成操作的该rmb对象返回。
第二个是直接对左值进行操作,并不存在值返回或者引用返回的问题。
举例:
  rmb a;
  rmb b;
  a=b;
  =是直接对a进行操作,把a的成员变量yuan和jf赋值为b的成员变量yuan和jf的值。 

 SunGrazer 发表于:2003-07-31 12:20:04
得分:0 

不好意思!!谢谢了,原来是这样!!!!我是c++菜鸟 

上一篇:看了看c++ primer plus,有两个问题,请进
下一篇:一个简单类的创建问题,请教????

分享到: