定义人员(Person)类,数据成员包含姓名(name)、年龄(age)和性别(sex)等属性,由Person类分别派生出教师(Teachar)类和干部(Cadre)类。Teachar类有职称(title)属性,Cadre类有职务(post)属性。再由Teachar类和Cadre类采用多重继承方式派生出教师兼干部(TeacherCadre)类,有工资(wages)属性。每个类有各自的构造函数和数据成员的输入输出函数。在主函数中定义对象进行测试。
https://blog.csdn.net/qq_41973128/article/details/80038493
#include <iostream>
#include<string.h>
using namespace std;
class person
{ private:
string name,sex;
int number;
public:
void setperson(string n,string s,int nu)
{
name = n;
sex = s;
number = nu;
}
void output();
};
void person::output()
{
cout<<"name: "<<name<<endl;
cout<<"sex: "<<sex<<endl;
cout<<"number: "<<number<<endl;
}
class student:public person
{
private:
int grade;
public:
student(){}
student(string n,string s,int nu,int g)
{
person::setperson(n,s,nu);
grade=g;
}
void output()
{
person::output();
cout<<"grade: "<<grade<<endl;
}
};
class teacher:public person
{
private:
int teachage;
public:
teacher(){}
teacher(string n,string s,int nu,int t)
{
person::setperson(n,s,nu);
teachage=t ;
}
void output()
{
person::output();
cout<<"teachage: "<<teachage<<endl;
}
};
int main()
{
student m("李磊","男",16064,100);
m.output();
teacher n("赵宝宝","男",1141,20);
n.output();
}