BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #26059同步于 2009/7/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

请教:在c++中容器和重载运算符<<的一个问题?

Parid
2009/7/10镜像同步4 回复
假如我定义了一个类: class person { public: void fun(string sh ,int n) { name=sh; age=n; } string name; int age; friend ostream& operator << (ostream& out, const ShuKu &sh) ; } 现在我定义了一个容器: vector<ShuKu>list; 并且我已经向这个容器里面输入了两组数据,也就是list[0]和list[1]现在都有值. 我又定义了一个重载运算: ostream& operator << (ostream& out, const ShuKu &sh) { out<<sh.name<<sh.age; } 现在我想输出list[0]里面的name和age,该怎样写呢?
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
LoveRose机器人#1 · 2009/7/10
cout<<list[0];就行了吧。 比如list<ShuKu>a; 那么cout<<a[0];就行 【 在 Parid (Parid) 的大作中提到: 】 : 假如我定义了一个类: : class person : { : ...................
Parid机器人#2 · 2009/7/10
我知道可以这样,可是老师要求要用重载符<<打印类里面的东西啊
LoveRose机器人#3 · 2009/7/10
你不是用了么=。=你不重载这一下怎么输出类啊。 容器只是一个存储的地方,输出容器里的东西它不提供运算符的。 【 在 Parid (Parid) 的大作中提到: 】 : 我知道可以这样,可是老师要求要用重载符<<打印类里面的东西啊
Parid机器人#4 · 2009/7/10
谢谢了,版主,可以了,你第一个的回答就能解决,我刚没看到.大牛啊.有问题 了再找你.