有一person类,我们用vector容器将其存放,重载左移运算符,直接cout输出。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
class person
{
friend ostream& operator<<(ostream& cout,vector<person>& p); //设为友元
private:
string name; //姓名
int score ; //成绩
public:
person(string name_,int score_) :name(name_),score(score_) {} // 构造函数
person=default;
};
ostream& operator<<(ostream& cout,vector<person>& p) // 重载左移运算符
{
for(vector<person>::iterator i=p.begin();i!=p.end();++i)
{
cout<<(*i).name<<" "<<(*i).score<<endl;
}
return cout;
}
int main()
{
person p("sb",10); //初始化一下
vector<person>p1;
p1.push_back(p); //放入容器中
cout<<p1; //直接cout 输出
return 0;
}