#include <iostream>
#include <string>
using namespace std;
//CPeople类
class CPeople
{
protected:
string name;
string sex;
int age;
public:
CPeople(string name1,string sex1,int age1)
{
name=name1;
sex=sex1;
age=age1;
}
void show()
{
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
cout<<"age:"<<age<<endl;
}
};
//CStudent类
class CStudent: virtual public CPeople
{
protected:
string ID;
string enterTime;
float enterScore;
public:
CStudent(string name1,string sex1,int age1,
string ID1,string enterTime1,float enterScore1)
:CPeople(name1,sex1,age1)
{
ID=ID1;
enterTime=enterTime1;
enterScore=enterScore1;
}
void show1()
{
show();
cout<<"ID:"<<ID<<endl;
cout<<"enterTime:"<<enterTime<<endl;
cout<<"enterScore"<<enterScore<<endl;
}
};
//CTeacher类
class CTeacher:virtual public CPeople
{
protected:
string job,department,workTime;
public:
CTeacher(string name1,string sex1,int age1,
string job1,string department1,string workTime1)
:CPeople(name1,sex1,age1)
{
job=job1;
department=department1;
workTime=workTime1;
}
void show2()
{
show();
cout<<"job:"<<job<<endl;
cout<<"department:"<<department<<endl;
cout<<"worktime:"<<workTime<<endl;
}
};
//CGraduate类
class CGraduate:virtual public CStudent
{
protected:
string aim;
CTeacher dteacher;//定义子对象导师
public:
CGraduate(string name1,string sex1,int age1,
string ID1,string enterTime1,float enterScore1,
string name2,string sex2,int age2,
string job2,string department2,string workTime2,string aim1)
:CPeople(name1,sex1,age1),
CStudent(name1,sex1,age1,ID1,enterTime1,enterScore1),
dteacher(name2,sex2,age2,job2,department2,workTime2)
{
aim=aim1;
}
void show3()
{
cout<<"The CGraduate is:"<<endl;
show1();
cout<<"aim:"<<aim<<endl;
}
void show_dteacher()
{
cout<<"The dteacher is:"<<endl;
dteacher.show2();
}
};
//CGraduateOnWork类
class CGraduateOnWork:public CTeacher,public CGraduate
{
public:
CGraduateOnWork(string name1,string sex1,int age1,
string job1,string department1,string workTime1,
string ID1,string enterTime1,float enterScore1,
string name2,string sex2,int age2,
string job2,string department2,string workTime2,string aim1)
:CPeople(name1,sex1,age1),
CStudent(name1,sex1,age1,ID1,enterTime1,enterScore1),
CTeacher(name1,sex1,age1,job1,department1,workTime1),
CGraduate(name1,sex1,age1,ID1,enterTime1,enterScore1,
name2,sex2,age2,job2,department2,workTime2,aim1){}
void show4()
{
cout<<"The CGraduateOnWork is:"<<endl;
show2();
cout<<"ID:"<<ID<<endl;
cout<<"enterTime:"<<enterTime<<endl;
cout<<"enterScore:"<<enterScore<<endl;
cout<<"aim:"<<aim<<endl;
}
};
//main函数
void main()
{
CPeople C("李华","男",18);
C.show();
cout<<endl;
CStudent S("石亭亭","女",20,"201416209","20140913",548);
S.show1();
cout<<endl;
CTeacher T("吴君","女",32,"辅导员","信息工程学院","每天八小时");
T.show2();
cout<<endl;
CGraduate G("王明","男",23,"201301601","20130914",420,
"辛辉","男",35,"辅导员","信息工程学院","每天八小时","电子信息");
G.show3();
cout<<endl;
G.show_dteacher();
cout<<endl;
CGraduateOnWork W("吴宇","女",32,"辅导员","信息工程学院","每天八小时","201301601","20130914",420,
"王丽","女",32,"辅导员","信息工程学院","每天八小时","电子信息");
W.show4();
cout<<endl;
W.show_dteacher();
}
st.rar_CGradOnWork_类CGradOnWork
版权申诉
58 浏览量
2022-09-23
18:02:11
上传
评论
收藏 866KB RAR 举报
御道御小黑
- 粉丝: 61
- 资源: 1万+