标题:[求助]重载操作符
只看楼主
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
结帖率:66.67%
 问题点数:0 回复次数:3 
[求助]重载操作符
想问一下,重载操作符<<时,这样返回是什么意思?
ostream& operator<<(ostream& out, const vect& v);
{
    ...
    return(out<<endl);
}
另外,函数中第二个参数v,为什么用const定义加上引用定义?
注意:vect是已经定义好的class类型而不是STL的向量。
搜索更多相关主题的帖子: 操作符 重载 
2004-09-17 21:28
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
得分:0 

return(out<<endl);就是输出一个换行,然后返回out

至于const vect& v使用引用,因为速度上加快了,而且不用copy变量和调用构造函数了


永不放弃!
2004-09-18 22:42
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
得分:0 
以下是引用kuangjingbo在2004-09-18 22:42:04的发言:

return(out<<endl);就是输出一个换行,然后返回out

至于const vect& v使用引用,因为速度上加快了,而且不用copy变量和调用构造函数了

哦,不好意思,后一个问题属弱智问题,传参的当然加const防修改。

但是第一个问题我还有疑问,为什么加括号?另外不写<<endl行不行?

2004-09-18 23:17
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
得分:0 

不家括号也可以,正如:return 4+5 ;

与 return (4+5) 应该是一样的!

不写<<endl也是对的 。 因为 << 操作符 , 一般要返回操作符左面的对象。即:out << endl ,它仍然返回out。


永不放弃!
2004-09-19 18:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-5417-1-1.html




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

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