现有一个Student类,每个学生对象包含四个数据:学号、性别、姓名、成绩。 (性别:整数“0”表示男,整数“1”表示女) 编程实现对插入运算符(<<)和流提取符(>>)的重载,使它们能够对Student类对象直接进行输入和输出。 输入 请输入学号,性别,分数,姓名 101 1 88 zhangsan 102 0 78 lisi 输出 stud1:101 1 88 zhangsan stud2:102 0 78 lisi 样例输入 101 1 88 zhangsan 102 0 78 lisi 样例输出 请输入学号,性别,分数,姓名 stud1:101 1 88 zhangsan stud2:102 0 78 lisi
时间: 2023-06-15 12:06:21 浏览: 101
一个 Student类:包括姓名、学号、性别、专业、家庭地址。
下面是使用C++语言实现对插入运算符(<<)和流提取符(>>)的重载,使它们能够对Student类对象直接进行输入和输出的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
int id; // 学号
int gender; // 性别:0表示男,1表示女
int score; // 成绩
string name; // 姓名
};
// 重载插入运算符,使其能够直接输出Student类对象
ostream& operator<< (ostream& os, const Student& s) {
os << s.id << " " << s.gender << " " << s.score << " " << s.name;
return os;
}
// 重载流提取符,使其能够直接输入Student类对象
istream& operator>> (istream& is, Student& s) {
is >> s.id >> s.gender >> s.score >> s.name;
return is;
}
int main() {
Student stud1, stud2;
cout << "请输入学号,性别,分数,姓名" << endl;
cin >> stud1 >> stud2;
cout << "stud1:" << stud1 << endl;
cout << "stud2:" << stud2 << endl;
return 0;
}
```
输入样例:
```
101 1 88 zhangsan
102 0 78 lisi
```
输出样例:
```
请输入学号,性别,分数,姓名
stud1:101 1 88 zhangsan
stud2:102 0 78 lisi
```
阅读全文