c++中<<运算符重载怎么写啊

 我来答
百度网友5e8499c
推荐于2017-09-11 · TA获得超过556个赞
知道小有建树答主
回答量:280
采纳率:100%
帮助的人:306万
展开全部
class MyClass{
int member1;
string member2;
friend ostream& operator<<(ostream& out, const MyClass& myclass){
out<<member1<<member2;
return out;
}
}
大概就是这么写。也可以不重载为友元,而改用成员函数获取成员变量的值。
我们平常写cout<<a<<"sdfghj"<<endl;为什么能成立, 就是因为<<在iostream 里进行了重载。
而 cout 是在 iostream 里定义的,ostream类的对象。
在重载<<时,返回值类型是ostream&, 第一个参数也是ostream& 。也就是说,表达式cout<<a的返回值仍是 cout。因此cout<<a<<"sdfghj"才能成立。
QQ2902987974
2014-05-02
知道答主
回答量:8
采纳率:0%
帮助的人:5.4万
展开全部
重载和一般的函数一样,只是函数名称变成了operator<<,完整的是:void operator<<(parm1,parm2),如果要放在类中的话,只能有一个参数,另外一个隐含的参数是类的成员,或者设置成友元函数。最好把重载函数作为全局函数来写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
腾韵TY
2014-05-02
知道答主
回答量:24
采纳率:0%
帮助的人:7.7万
展开全部
ostream& operator<<(ostream& out,/*要输出的内容*/)//一般传入一个结构体之类的,原先的输出运算符不能直接输出的类型
{
/*要执行的操作*/
/*如*/out << "你好" << endl;
return out;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式