| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:有关运载符重载的问题
只看楼主 加入收藏
GeneralJing
Rank: 2
等 级:论坛游民
帖 子:30
专家分:15
注 册:2011-9-26
收藏
 问题点数:0 回复次数:5 
有关运载符重载的问题
问下大侠们,最近学C++看到运载符重载那一章,有些痛苦,不太好理解,有个地方一直不是很清楚,就是在运载符重载时,什么时候加&号什么时候不加?看了好几本书,都没有找到满意的答案,希望哪位大侠帮帮我!
2011-11-01 12:46
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:0 
不是和你说过了么!
你得问题很宽泛;对于自身的使用可以用& 这个可以看做取地址操作和引用标示符! 你问得是返回类型什么时候加&号~
那就是引用~意思就是返回一个引用! 这里就存在一个问题! 一个引用一定不能指向一个局部对象;否则在该函数结束后局部对象也会撤销!  

君生我未生 我生君以老
2011-11-01 14:44
GeneralJing
Rank: 2
等 级:论坛游民
帖 子:30
专家分:15
注 册:2011-9-26
收藏
得分:0 
回复 2楼 jcw08120110
那我想问下,什么时候算引用?=号算引用,其他的呢 []这个也算引用吧?能不能总结一下?对于新手有帮助呵呵
另外 Complex Complex::operator=(Complex c)
{
  real = c.real;
  image = c.image;
return *this;
}
还是我理解错了,比如说=号,它既可以做引用,也可以不做引用?它不是一成不变的?其实我想问,我怎么知道哪个是引用?哪个不是?
对于你说的+、+=例子我能理解,但是对于具体的定义里,有没有什么方法可以确定引用?

[ 本帖最后由 GeneralJing 于 2011-11-1 16:41 编辑 ]
2011-11-01 16:36
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:0 
楼主是不是把问题想复杂了?自己写些例子体会一下
2011-11-01 17:34
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
逻辑上该用引用的就要用引用。其实也有好多可以用引用的地方也可以不引用,并没有什么必需的规则。
楼主应该好好体会体会引用的作用。

不过必须用引用的地方就一定要用。比如楼主提到的 operator []。
基本上,当你需要的不仅是它的值,而是它本身的时候,你就必须用引用。它和 C 语言里左值的概念有一定的联系,楼主可以对比着学一学。
2011-11-01 20:45
GeneralJing
Rank: 2
等 级:论坛游民
帖 子:30
专家分:15
注 册:2011-9-26
收藏
得分:0 
谢谢大家!我再继续研究中……
2011-11-04 13:59
快速回复:有关运载符重载的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038005 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved