代码:
/*
*Copyright (c) 2016, 烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp;
*作 者:岳成艳2016年5月18号;
*版 本 号:vc++6.0;
*
*问题描述:教师兼干部类。
*程序输入:略;
*程序输出:略;
*/
#include<iostream>
#include<string>
using namespace std;
//教师类
class Teacher
{
protected:
string name;
int age;
string sex;
string address;
string tell;
// 教师独有的
string title;
public:
Teacher(string ,int ,string ,string ,string ,string );
void display();
};
// 教师类构造函数
Teacher::Teacher(string nam ,int a, string se,string add,string tel ,string tit):name(nam),age(a),sex(se),address(add),tell(tel),title(tit){}
//教师类的display
void Teacher::display()
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"职称:"<<title<<endl;
cout<<"地址:"<<address<<endl;
cout<<"电话:"<<tell<<endl;
}
//干部类
class Cadre
{
protected:
string name;
int age;
string sex;
string address;
string tell;
// 干部类独有的
string post;
public:
Cadre(string ,int ,string ,string ,string ,string );
};
// 干部类构造函数
Cadre::Cadre(string nam ,int a, string se,string add,string tel ,string pos):name(nam),age(a),sex(se),address(add),tell(tel),post(pos){}
//派生类
class Teacher_Cadre:public Teacher , public Cadre
{
private:
double wages;
public:
Teacher_Cadre(string ,int ,string ,string ,string ,string ,string ,double);
void show();
};
Teacher_Cadre::Teacher_Cadre(string nam,int a,string se,string add,string tel,string tit,string pos,double w):Teacher(nam,a,se,add,tel,tit),Cadre(nam,a,se,add,tel,pos),wages(w){}
// 派生类函数
void Teacher_Cadre::show()
{
Teacher::display();
cout<<"职务:"<<Cadre::post<<endl;
cout<<"工资:"<<Teacher_Cadre::wages<<endl;
}
int main()
{
Teacher_Cadre yue("王丽",50,"女","135 Beijing Road","18266213546","一级教师","教授",1534.5);
yue.show();
return 0;
}
运行测试: