/*
*Copyright (c) 2014, 烟台大学计算机学院
*All rights reserved.
*文件名称:week12-1.cpp
*作者:高赞
*完成日期:2015年 5 月 21 日
*版本号:v1.0
*
*问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre
*
*/
#include <iostream>
using namespace std;
class Teacher
{
public:
Teacher();
Teacher(string,int,string,string,string,string);
void display();
private:
string name;
int age;
string sex;
string addr;
string tel;
string title;
};
Teacher::Teacher() {}
Teacher::Teacher(string n,int a,string s,string ad,string te,string ti):
name(n),age(a),sex(s),addr(ad),tel(te),title(ti) {};
void Teacher::display()
{
cout<<"姓名:"<<name<<endl
<<"年龄:"<<age<<endl
<<"性别:"<<sex<<endl
<<"地址:"<<addr<<endl
<<"电话:"<<tel<<endl
<<"职称:"<<title<<endl;
}
class Cadre
{
public:
Cadre();
Cadre(string,int,string,string,string,string);
void display();
string getpost();
private:
string name;
int age;
string sex;
string addr;
string tel;
string post;
};
Cadre::Cadre() {}
Cadre::Cadre(string n,int a,string s,string ad,string t,string p):
name(n),age(a),sex(s),addr(ad),tel(t),post(p) {}
void Cadre::display()
{
cout<<"姓名:"<<name<<endl
<<"年龄:"<<age<<endl
<<"性别:"<<sex<<endl
<<"地址:"<<addr<<endl
<<"电话:"<<tel<<endl
<<"职务:"<<post<<endl;
}
string Cadre::getpost()
{
return post;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
Teacher_Cadre();
Teacher_Cadre(string,int,string,string,string,string,string,double);
void show();
private:
double wages;
};
Teacher_Cadre::Teacher_Cadre() {}
Teacher_Cadre::Teacher_Cadre(string n,int a,string s,string ad,string te,string ti,string p,double w):
Teacher(n,a,s,ad,te,ti),Cadre(n,a,s,ad,te,p),wages(w) {}
void Teacher_Cadre:: show()
{
Teacher::display();
cout<<"职务:"<<getpost()<<endl
<<"工资:"<<wages<<endl;
}
int main()
{
Teacher_Cadre a("小A",25,"男","清明小区","12345678900","讲师","党干部",5000);
a.show();
return 0;
}