学生信息管理系统多态设计c++代码
时间: 2024-06-02 16:06:27 浏览: 112
学生信息管理系统可以使用多态来实现,可以将所有的操作基类定义为一个抽象类,然后定义一个纯虚函数作为接口,各个子类继承这个基类,并根据自己的需要实现这个接口。这样就可以在调用函数的时候,根据具体的对象类型来调用对应的函数,实现多态。以下是一个简单的示例代码:
```
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
virtual void display() = 0; // 纯虚函数
};
class Undergraduate : public Student {
public:
Undergraduate(string n, int a) : name(n), age(a) {}
void display() {
cout << "Undergraduate " << name << ", " << age << " years old." << endl;
}
private:
string name;
int age;
};
class Graduate : public Student {
public:
Graduate(string n, int a) : name(n), age(a) {}
void display() {
cout << "Graduate " << name << ", " << age << " years old." << endl;
}
private:
string name;
int age;
};
int main() {
Student* stu1 = new Undergraduate("Tom", 20);
Student* stu2 = new Graduate("Jerry", 25);
stu1->display();
stu2->display();
delete stu1;
delete stu2;
return 0;
}
```
在上面的代码中,我们定义了一个抽象类Student,其中包含了一个纯虚函数display。我们又定义了两个子类Undergraduate和Graduate,分别实现了display函数。在main函数中,我们创建了两个Student类型的指针,分别指向Undergraduate和Graduate对象,然后调用它们的display函数,由于是根据具体对象类型调用相应的函数,因此程序会输出两个不同的结果。
阅读全文