共有以下 4小点 的类继承、派生关系:
(1)从people(人员)类派生出student(学生)类,添加属性:班号char classNo[7];
(2)从people类派生出teacher(教师)类,添加属性:职务char principalship[11]、部门char department[21]。
(3)从student类派生出graduate(研究生)类,添加属性:专业char subject[21]、导师teacher adviser;
(4)从graduate类和teacher类派出TA(助教生)类,重载相应的成员函数,测试这些类。
People的(人员)类内容为 :number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等,其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。
2.代码实现#include3.运行结果#include using namespace std; //日期类 class Date{ public: //无参构造函数 Date(){} //有参构造函数 Date(int year,int month,int day){ this->year=year; this->month=month; this->day=day; } //录入信息 void InDateInformation(int year,int month,int day){ this->year=year; this->month=month; this->day=day; } //显示信息 void OutDateInformation(){ cout<<"出生日期:"< name,name); strcpy(this->number,number); this->sex=sex; strcpy(this->id,id); } //信息录入 void input(){ int year,month,day; cout<<"姓名:"; cin>>name; cout<<"编号:"; cin>>number; cout<<"性别:"; cin>>sex; cout<<"身份证号:"; cin>>id; cout<<"出生日期(用空格隔开):"; cin>>year>>month>>day; flag=true;//存储信息后标记为true birthday.InDateInformation(year,month,day); } //信息显示 void display(){ cout< classNo,classNo); } //信息录入 void input(){ cout<<"班号:"; cin>>classNo; } //信息显示 void display(){ cout<<"班号::"< principalship,principalship); strcpy(this->department,department); } //信息录入 void input(){ People::input();//基本信息 cout<<"职务:"; cin>>principalship; cout<<"部门:"; cin>>department; } //信息显示 void display(){ People::display(); cout<<"职务:"< subject,subject); } //信息录入 void input(){ People::input();//基本信息 student::input();//班号 cout<<"专业:"; cin>>subject; } //信息显示 void display(){ People::display(); student::display(); cout<<"专业:"< >choose; while(choose!=0){ switch(choose){ case 1:{ cout< >choose; } return 0; }



