本站首页    管理页面    写新日志    退出


 

 

 


最新日志

练车
今天是2011年07月02号
温馨
CInternetSession 类
CHttpFile实现Get/Post
在MFC中加一个控制台DOS界面
strtol 函数
outputParam
有关CTime和ColeDateTime
variant_t ,_bstr_t 与

 


 

最近的评论

回复:CHttpFile实现Get/Po
回复:好久没有来了
回复:参数自整定的模糊PID
回复:电子设计大赛自由命题可参考的题目
回复:数字万用表使用方法
回复:公交车上巨搞笑的一幕
回复:电子设计大赛自由命题可参考的题目
回复:电子设计大赛自由命题可参考的题目
回复:电子设计大赛自由命题可参考的题目
回复:暑假回来

 


 

连接




    

+,-*,/重载返回值不能用引用?
sccwqiang 发表于 2008/10/26 11:23:16

  在网上看见有网友说重载+,-,*,/时返回值不能为对象的引用,带着深深的疑问自己动手来看了一下,可以呀!不管是成员还是友员重载两者都行,不知道他们是怎么想的,反正我在vc6.0中小试了一下能够通过!以下是用一复数加法运算,代码如下: #include <iostream.h> class complex{public: complex(){real=0;image=0;} complex(double r,double i){real=r;image=i;} //friend complex &operator+(complex c1,complex c2); void display(); complex &operator+(complex c1);private: double real,image;};complex co;//全局对象/*complex &operator+(complex c1,complex c2)//友员返回的引用{  co.image=c1.image+c2.image; co.real=c1.real+c2.real; return co;}*/complex &complex::operator +(complex c1)//重载为成员函数引用{ co.real=real+c1.real; co.image=image+c1.image; return co;} void complex::display(){ cout<<real; if(image>=0)cout<<"+"<<image<<"i"<<endl; else    cout<<image<<"i"<<endl;} int main(){ complex c1(3,4),c2(5,-10),c; c=c1+c2; c.display();    return 0;} 结果:8-6iPress any key to continue 从上可知返回引用是可以的可以的。但是如果用c1+c2=c的放系统不会报错!这个人认为就该是重载=的问题,因为就算不返回引用也上式系统也不会报错的。还有可能VC是不是很支持C++标准的。也许在其它环境下,不能返回对像引用吧!

阅读全文(1797) | 回复(0) | 编辑 | 精华


发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 

 

 


站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144792149 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号