c++ 类容器 重载左移运算符

有一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;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值