用c++写一个简单的按姓名查询毕业生信息系统,用到类,继承,派生
时间: 2024-03-01 19:49:37 浏览: 71
c++写的一个学生信息管理系统
好的,以下是一个简单的按姓名查询毕业生信息系统的 C++ 代码,其中使用了类、继承和派生:
```
#include <iostream>
#include <string>
using namespace std;
class Graduate { // 毕业生类
protected:
string name; // 姓名
int age; // 年龄
string school; // 学校
string major; // 专业
string degree; // 学位
public:
Graduate(string n, int a, string s, string m, string d) {
name = n;
age = a;
school = s;
major = m;
degree = d;
}
virtual void display() { // 显示毕业生信息
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "学校:" << school << endl;
cout << "专业:" << major << endl;
cout << "学位:" << degree << endl;
}
};
class GraduateByName : public Graduate { // 按姓名查询毕业生类
public:
GraduateByName(string n, int a, string s, string m, string d) : Graduate(n, a, s, m, d) {}
void display() { // 显示毕业生信息(按姓名查询)
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "学校:" << school << endl;
cout << "专业:" << major << endl;
cout << "学位:" << degree << endl;
}
};
int main() {
GraduateByName graduate1("张三", 22, "清华大学", "计算机科学与技术", "硕士");
GraduateByName graduate2("李四", 23, "北京大学", "软件工程", "硕士");
GraduateByName graduate3("王五", 24, "上海交通大学", "电子信息工程", "博士");
string name;
cout << "请输入毕业生姓名:" << endl;
cin >> name;
if (name == graduate1.name) {
graduate1.display();
} else if (name == graduate2.name) {
graduate2.display();
} else if (name == graduate3.name) {
graduate3.display();
} else {
cout << "该毕业生不存在!" << endl;
}
return 0;
}
```
在这个程序中,首先定义了一个毕业生类 `Graduate`,其中包含了毕业生的姓名、年龄、学校、专业和学位等信息,同时定义了一个虚函数 `display` 用于显示毕业生信息。然后定义了一个按姓名查询毕业生类 `GraduateByName`,该类继承自毕业生类 `Graduate`,并重写了 `display` 函数以实现按姓名查询。最后在 `main` 函数中创建了三个毕业生对象,并根据用户输入的姓名查询并显示对应的毕业生信息。
阅读全文