//
// Created by 刘彪 on 2020/3/2.
//虚基类 医学院教师 p236
#include <iostream>
#include <cstring>
using namespace std;
class Person{
int bh;
char xm[10];
public:
void setperson(int bh1,char xm1[]){
bh = bh1;
strcpy(xm,xm1);
}
void dispperson(){
cout<<"编号:"<<bh<<endl;
cout<<"姓名:"<<xm<<endl;
}
};
class teacher:virtual public Person{
char xb[20];
char zc[10];
public:
void setteacher(char xb1[],char zc1[]){
strcpy(xb,xb1);
strcpy(zc,zc1);
}
void dispteacher(){
cout<<"系别:"<<xb<<endl;
cout<<"职称:"<<zc<<endl;
}
};
class doctor:virtual public Person{
char ks[20];
char zy[20];
public:
void setdoctor(char ks1[],char zy1[]){
strcpy(ks,ks1);
strcpy(zy,zy1);
}
void dispdoctor(){
cout<<"科室:"<<ks<<endl;
cout<<"专业:"<<zy<<endl;
}
};
class techdoc:public teacher,public doctor{
public:
void setteachdoc(int bh1,char xm1[],char xb1[],char zc1[],char ks1[],char zy1[]){
setperson(bh1,xm1);
setteacher(xb1,zc1);
setdoctor(ks1,zy1);
}
void dispteachdoc(){
dispperson();
dispteacher();
dispdoctor();
}
};
int main(){
techdoc obj;
obj.setteachdoc(139,"李华","基础医学系","教授","内科","心血管");
obj.dispteachdoc();
return 0;
}