c++中运算符(\" << \")重载ostream&是什么意思

friendostream&operator+(ostream&os,constCPolynomial&);为什么一定要加这个... friend ostream & operator + (ostream &os, const CPolynomial&);
为什么一定要加这个
展开
 我来答
fengjian_net
推荐于2016-09-04 · TA获得超过2864个赞
知道大有可为答主
回答量:1799
采纳率:50%
帮助的人:2501万
展开全部
运算符重载,是对现有操作符使用于自定义用户类型的一种扩展,但具体的性质不能变,如<<表示流操作符左侧对象为流的本质不能变,+为两元操作符本质不能变,再如,对于->重载必须返回指针类型不可变!
即,即使进行运算符重载,也只是有限自由!
friend ostream & operator << (ostream &os, const CPolynomial&)
operator是进行运算符重载的关键词,它后面就是重载的运算符,左侧是流,右侧是流处理的对象。这样你就可以处理如何输入或输出该对象
住坝菘魔网渡12
2006-12-24 · TA获得超过1362个赞
知道小有建树答主
回答量:870
采纳率:0%
帮助的人:0
展开全部
如果没猜错,ostream是个类
ostream&的意思是返回值是类的一个引用,就是直接对返回的类的对象进行操作(共享一个地址,加这个就是可以对形参进行修改
后面的ostream &os就是传递一个类的对象的地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
志愿者zyz
2021-07-15
知道答主
回答量:19
采纳率:0%
帮助的人:5.5万
展开全部

friend ostream &operator<< (ostream &out, Complex &obj){...}

以上文为例:

  1. “friend”声明函数为“ostream”类的友元函数

  2. “ostream”声明后文的函数为“ostream”类

  3. “operator<<(ostream &out, Complex &obj)”意为对双目流运算符“<<”进行重载,对象为“ostream”类的out的引用与“Complex”类的obj的引用

  4. “&operator<< (ostream &out, Complex &obj)”意为函数“&operator<< (ostream &out, Complex &obj)”的返回值以引用的形式返回

“ostream”类是一种特殊的类,需要作为“左值”,不能直接赋值或者拷贝(即以一个会被释放的临时变量返回),上文的函数执行完后(执行语句省略了)将以一个“ostream”类对象的引用返回,才符合“ostream”类的要求。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式