一、问题及代码
/*
* 文件名称:11.cpp
* 作 者:薛赫鹏
* 完成日期:2016 年 5月 20日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 多继承
* 输入描述:略
* 问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)
* 程序输出:略
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
#include<string>
using namespace std;
class Teacher
{
public:
Teacher(string n,string s,int a,string t);
void display();
string sex;
string name;
int age;
string title;
};
Teacher::Teacher(string n,string s,int a,string t)
{ name=n;sex=s;age=a;title=t; }
void Teacher::display()
{
cout<<"姓名:"<<name<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"职称:"<<title<<endl;
}
class Cadre
{
public:
Cadre(string n,string s,int a,string p);
string sex;
string name;
int age;
string post;
};
Cadre::Cadre(string n,string s,int a,string p)
{
name=n;sex=s;age=a;post=p;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
Teacher_Cadre(string n,string s,int a,string t,string p,double w);
void show();
double wages;
};
Teacher_Cadre::Teacher_Cadre(string n,string s,int a,string t,string p,double w):Teacher(n,s,a,t),Cadre(n,s,a,p),wages(w){}
void Teacher_Cadre::show()
{
display();
cout<<"职称:"<<post<<endl;
cout<<"薪水:"<<wages<<endl;
}
int main()
{
Teacher_Cadre t1("曾辉","男",42,"副教授","主任",1534.5);
t1.show();
return 0;
}
二、运行结果:
三、心得体会:
学习使用多继承
四、知识点总结:
多重继承的掌握