题目很水。主要是学会了怎么重载>>,记录一下。
因为输入的数据要存入变量中,故重载>>的函数参数表中要以引用的方式传参
题目链接: https://www.patest.cn/contests/gplt/L1-005
代码:
#include <iostream>
#include<queue>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<map>
using namespace std;
map<int,int> m;
struct student
{
string id;
int num1,num2;
friend istream& operator>>(istream& c,student &a)
{
cin>>a.id>>a.num1>>a.num2;
}
friend ostream& operator<<(ostream& c,student a)
{
cout<<a.id<<' '<<a.num2<<endl;
}
}stu[1005];
int N,T,num;
int main()
{
ios::sync_with_stdio(false);
while(cin>>N)
{
for(int i=0;i<N;i++)
{
cin>>stu[i];
m[stu[i].num1] = i;
}
cin>>T;
for(int i=0;i<T;i++)
{
cin>>num;
cout<<stu[m[num]];
}
}
}
本文介绍了一个简单的C++程序实例,展示了如何通过重载输入运算符(>>)来实现结构体类型的输入。该程序用于读取学生信息,并通过映射表进行查找,实现了特定功能。
1606

被折叠的 条评论
为什么被折叠?



