开发一个简单的大学人员管理程序,该程序可以管理大学的一些基本人员:学生(student)、教师(teacher)、教授(professor)。首先设计一个虚基类person。通过该类保存人员的最基本信息:姓名(name)、年龄(age)和性别(sex)。然后使用该类派生出学生类student和教师类teacher,在其中添加各自的特性,如在student类中添加如下信息:专业(speciality),在teacher类中添加院系(department)等。还有部分教师在工作的同时在职修读学位,因此同时具有教师和学生双重身份,所以由student类和teacher类再次派生出stuTeacher类。为每个类定义一个输出函数print(),输出该类相关信息。
#include
using namespace std;
class person
{
protected :
string name,age,sex;
public :
person();
person(string name1,string age1,string sex1);
~person();
void set_name(string n);
void set_age(string a);
void set_sex(string s);
string get_name();
string get_age();
string get_sex();
};
person::person()
{
}
person::person(string name1,string age1,string sex1)
{
this->name=name1;
this->age=age1;
this->sex=sex1;
}
person::~person()
{
}
string person::get_name()
{
return name;
}
string person::get_age()
{
return age;
}
string person::get_sex()
{
return sex;
}
void person::set_age(string a)
{
age=a;
}
void person::set_name(string n)
{
name=n;
}
void person::set_sex(string s)
{
sex=s;
}
class student:public person
{
protected:
string speciality;
public:
student();
student(string name1,string age1,string sex1,string speciality1);
~student();
void set_speciality();
string get_speciality();
void print(student &stu);
};
student::student()
{
}
student::student(string name1,string age1,string sex1,string speciality1):person(name1,age1,sex1)
{
speciality=speciality1;
}
student::~student()
{
}
void student::set_speciality()
{
string s;
cout<<"请输入专业:"<>s;
speciality=s;
}
string student::get_speciality()
{
return speciality;
}
void student::print(student &stu)
{
cout<<"name:"<department=department1;
}
void teacher::set_departemt()
{
string d;
cout<<"请输入学院"<>d;
department=d;
}
string teacher::get_depatemt()
{
return department;
}
void teacher::print(teacher &tea)
{
cout<<"name:"<