输出对象

lovelylan9510 2008-12-19 11:36:19
ostream& operator << (ostream& out,const A &a)
{
out<<a.x<<','<<a.y;
return out;
}
为什么这里用out而不用cout啊?
...全文
122 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangkunhenry 2008-12-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lann64 的回复:]
out在这里仅仅是个流类型参数的名字,你叫它阿猫阿狗够可以。

cout是一个系统定义好的流对象,属于流类型的一个实例对象。

在使用ostream流类型变量的地方,你可以使用cout对象。这样重载了流输出的函数,就可以直接作用在cout上了。
[/Quote]
=_= !!!
kingteng 2008-12-20
  • 打赏
  • 举报
回复
你重载的的时候传入的参数就是out,所以啦
lann64 2008-12-20
  • 打赏
  • 举报
回复
out在这里仅仅是个流类型参数的名字,你叫它阿猫阿狗够可以。

cout是一个系统定义好的流对象,属于流类型的一个实例对象。

在使用ostream流类型变量的地方,你可以使用cout对象。这样重载了流输出的函数,就可以直接作用在cout上了。
nullah 2008-12-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Chiyer 的回复:]
C/C++ code

// ostream 有很多,不单是cout 比如下面的ofstream

#include <iostream>
#include <fstream>
using namespace std;

class A {
public :
A() : data(0)
{
}
int data;
};

ostream& operator<< (ostream& out, const A& a)
{
out<<a.data;
return out;
}

int main()
{
ofstream ofile("a.txt");
A a;
a.data = 100;

ofile<<a;



[/Quote]
up
lovelylan9510 2008-12-20
  • 打赏
  • 举报
回复
饿...什么叫输出流对象啊...
是不是cout作为一个命令一样的东西,用了就能叫数据输出,这就是输出流对象吗?可以起其他名字?
eric_0206 2008-12-20
  • 打赏
  • 举报
回复
out是一个输出流变量,通过这个操作符重载,你可以将对象a输出到任何输出流中,比如输出到文件。而cout只是众多输出流中的一种。
太乙 2008-12-20
  • 打赏
  • 举报
回复
使用的时候是cout<<myObj<<endl;
cout就是传入你写的那个函数的参数out!
owldestiny 2008-12-20
  • 打赏
  • 举报
回复
只是个人猜测,感觉是out是输出流基类ostream的一个对象,而cout类,或者说ofstream是ostream子类,从命名上猜的cout可能是console out,ofstream file out,对不对就不知道了
pcmouse 2008-12-20
  • 打赏
  • 举报
回复
新出的吗
我汗 我从来没使用过out
nnliubin 2008-12-20
  • 打赏
  • 举报
回复
本人建议...好好找本书静下心来学学
adc_king 2008-12-20
  • 打赏
  • 举报
回复
学习了
星羽 2008-12-19
  • 打赏
  • 举报
回复


// ostream 有很多,不单是cout 比如下面的ofstream

#include <iostream>
#include <fstream>
using namespace std;

class A {
public :
A() : data(0)
{
}
int data;
};

ostream& operator<< (ostream& out, const A& a)
{
out<<a.data;
return out;
}

int main()
{
ofstream ofile("a.txt");
A a;
a.data = 100;

ofile<<a;


ofile.close();
return 0;
}
wuyu637 2008-12-19
  • 打赏
  • 举报
回复
因为你传入的参数是ostream& out,

而cout是定义到命令行下的,ostream不止cout这么一个对象,你还可以定义其他的输出流对象

65,211

社区成员

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

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