2.编写一个程序.定文一个学生类(Student).数据成员包括学号。姓名、性别和年龄.函数set0初始化学号.姓名、性别和年龄。show0输出学生的学号、姓名、性别和年龄。在主函数中定义对象数组。并实现输入5个学生的学号.姓名、性别和年龄。按年龄从大到小进行排序输出.
时间: 2023-05-20 21:01:17 浏览: 176
第2章 类、对象和命名空间.pdf 第2章 类、对象和命名空间.pdf第2章 类、对象和命名空间.pdf
以下是C知道的回答:
可以使用以下代码来实现:
```
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
class Student {
public:
void set0(string id, string name, string gender, int age) {
m_id = id;
m_name = name;
m_gender = gender;
m_age = age;
}
void show0() {
cout << "学号:" << m_id << ",姓名:" << m_name << ",性别:" << m_gender << ",年龄:" << m_age << endl;
}
bool operator<(const Student& other) const {
return m_age > other.m_age;
}
private:
string m_id;
string m_name;
string m_gender;
int m_age;
};
int main() {
Student students[5];
for (int i = 0; i < 5; i++) {
string id, name, gender;
int age;
cout << "请输入第" << i + 1 << "个学生的学号、姓名、性别和年龄:" << endl;
cin >> id >> name >> gender >> age;
students[i].set0(id, name, gender, age);
}
sort(students, students + 5);
cout << "按年龄从大到小排序后的学生信息为:" << endl;
for (int i = 0; i < 5; i++) {
students[i].show0();
}
return 0;
}
```
这个程序定义了一个名为Student的类,包含了学号、姓名、性别和年龄等数据成员,以及set0和show0两个成员函数。在主函数中,定义了一个包含5个Student对象的数组,通过循环输入每个学生的信息,并使用sort函数按年龄从大到小排序,最后输出排序后的学生信息。
希望这个回答能够帮到你!
阅读全文