如何重载cout操作符?

coolnick 2005-11-05 02:24:56
比如:
cout<<对象名;
就直接把对象中的成员变量输出来,
不知道大家怎么实现?
...全文
879 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gooderfeng 2005-11-05
  • 打赏
  • 举报
回复
都说完了,注意一般要声明为friend.因为大部分会访问私有成员...
<< >>这种运算不用friend是不行的。和私有成员没有关系。
K 2005-11-05
  • 打赏
  • 举报
回复
重载
huabihan 2005-11-05
  • 打赏
  • 举报
回复
都说完了,注意一般要声明为friend.因为大部分会访问私有成员...
Johnson_ch 2005-11-05
  • 打赏
  • 举报
回复
在类中声明友元(如果你希望在输出中访问私有成员的话)

friend ostream& operator<<(ostream& output,myclass& obj);

在类外定义这个函数
ostream& operator<<(ostream& output,myclass& obj)
{
//具体实现代码....例:output<<"....";

return output;
}
oyljerry 2005-11-05
  • 打赏
  • 举报
回复
friend
nutian 2005-11-05
  • 打赏
  • 举报
回复
cout是ostream流对象的一个引用,用重载运算符<<方式实现输出对象,但<<只能用友元重载,不能用成员函数实现,
frind ostream& operater<<(ostream& os,class& object)
{
return ostream;
}
中,返回的类型为 ostream &是为了连用<<,比如cout<<object1<<object2;,如果不连用可以不用返回引用,只返回ostream就可以了.
codearts 2005-11-05
  • 打赏
  • 举报
回复
楼上的答对,但是漏了一点:


frind ostream& operater<<(ostream& os,employee& person)
{
os<<person.name<<'\n';
os<<person.sex<<'\n';
return os; //返回...
}

dx30611 2005-11-05
  • 打赏
  • 举报
回复
比如说
frind ostream& operater<<(ostream& os,employee& person)
{
os<<person.name<<'\n';
os<<person.sex<<'\n';
}
wangjinhu 2005-11-05
  • 打赏
  • 举报
回复
cout不是关键字,你通过重载<<可以实现你的需求,两个输入参数,一个是输出流,一个是你的对象
dx30611 2005-11-05
  • 打赏
  • 举报
回复
应该叫重载<<操作符
一般用frind ostream& operater<<(ostream& os,class& object)
这种格式重载

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧