问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++ operator 提取流操作符问题。

发布网友 发布时间:2023-10-17 23:12

我来回答

1个回答

热心网友 时间:2023-12-02 13:48

首先,ostream 是一个类,
我们经常会写:cout << a << b;
那么执行了 cout << a之后为什么能执行输出b??
因为cout << a 这个函数调用结束返回了一个(非const)对象(类型为ofstream&)。
所以能继续输出B。
因此,为了让重载的<< 操作符和我们的习惯一致,
必须:ostream& operator << (....); 这就是返回引用的原因,简单说就是为了连续输出。
同样道理: 比如有个类A
A a, b, c;
a = b = c;
这里用到了连续的“=”,同理,重载“=”应该这样写:
A& operator = (const A& b)
{
*this = b;

return *this;
}
至于为什么传递ostream&,因为要返回一个ostream&!,如果不传递,只能:
return ostream();//即返回了局部对象,明显错误。
或者返回一个new出来的对象。内存泄露。

z最后说为什么cout.operator << (d3);错误
因为只有operator << 是cout 的成员函数才能通过“." 调用。但是这里不是他的成员函数,是一个全局函数(你不可能为系统的类写他的成员函数吧?);
所以可以这样写:
operator << (std::cout, d3);
这就和fun( a, b) 格式一样的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
有要业余时间弹古筝的酒店么 古筝演奏师的就业前景怎么样 茶馆里主要放的音乐类型是 日语一级的话什么水平啊 一级到底要求多少词汇啊? WPS右键菜单(win11) 再生缘 我的温柔暴君结局是什么啊?女主最后傻了? 为什么做爱多了没感情了 情侣之间在一起时间长了是不是做爱的时候也懒得接吻了直接进入主题吗... 夫妻性爱后为何丧失了热情 20世纪70年代后,我国外交事业取得巨大成就的原因是什么 悠闲的反义词是什么?6 柴油机起车后滑油压力慢慢变低怎么回事 柴油机刚开机机油压力高,后来机油压力下降的快怎么回事 男性问题,我阴囊皮破了一点3 有28颗珠子,其中27颗质量相同,只有一颗稍轻一点,如果用天平称,你至少称... 有28件零件,27件合格,其中一件轻一些,用天平找出次品时,应分成几组.每... 我前男友劈腿,现在还结婚了,各位帮我想想这种贱人要怎么对他才...25 ...其中一个是次品质量略轻一些,如果用天平称至少称几次就一定能找出... 奥运会中国花费了多少钱 金紫雨,染发哪有卖的吗 手机开机一条直线,一会红屏,一会蓝屏 怎样才看清事情的本质?1 ...150M无线路由器,手机可以搜到并且连接上网络,但是上不了网... 车床外圆车刀的主要几何角度5 手机屏幕发红是怎么回事?75 八个字的成语(两个) 手机屏幕变红屏2 有机化学的RS型具体怎样判断15 手机红屏是什么原因?4 要和男友分手,感觉他已经没有理智了,拼命的骂我贱人,还说希望...9 C++中重载流插入运算符的问题4 柴油机怠时机油压力高加速后压力下降是什么毛病 怎么把微信好友转移到另一个? c++中“插入操作符”和“提取操作符”的“插入”和“提取”是...2 &quot;&lt;&lt;&quot;如果用于cout后,则表示输出操作&quot;&lt;&lt;&quot;也叫做插入... 中融联储国际资本管理(北京)有限公司怎么样? 我想融资别人给我介意了,中融联储国际资本(北京( 分公司。让...9 前男友把我甩了,找了他的同学。我想报复他 ...时电脑死机了,然后直接拔掉硬盘,会不会对电脑硬盘造成损害? ‘也许吧’的英文单词是什么 怎么看清一件事情的本质? 关于杜甫的资料和诗少一点 不用的怎么注销 拨打10010怎么转联通人工服务 不用了怎么注销实名认证?57 联通人工服务拨打什么电话进入呢? 可以教我怎样注销本人名下的其他的吗?2 “悠闲”的反义词是什么? 孩子快出生了,男孩姓刘,大给想个好听顺口的名字吧,分高的也好...