Copyright (c) 2016,烟台大学计算机学院.
All rights reserced.
文件名称:test.cpp
作者 :秦通
完成日期:2016.6.16
版本号 :Codeblocks
问题描述:定义Teacher(教师类)和Cadre(干部类),采用多重继承方式派生出Teacher_Cadre(教师兼干部)
程序输入:
#include <iostream>
#include<cstring>
using namespace std;
class Teacher
{
protected:
string name;
int age;
char sex;
string address;
int phone;
string title;
public:
Teacher(string name1,int age1,char sex1,string address1,int phone1,string title1):name(name1),age(age1),sex(sex1),address(address1),phone(phone1),title(title1){};
void display();
};
void Teacher::display()
{
cout<<"姓名为:"<<name<<endl;
cout<<"年龄为:"<<age<<endl;
cout<<"性别为:"<<sex<<endl;
cout<<"职称为:"<<title<<endl;
cout<<"地址为:"<<address<<endl;
cout<<"电话为:"<<phone<<endl;
}
class Cadre
{
protected:
string name;
int age;
char sex;
string address;
int phone;
string post;
public:
Cadre(string name2,int age2,char sex2,string address2,int phone2,string post2):name(name2),age(age2),sex(sex2),address(address2),phone(phone2),post(post2){};
};
class Teacher_Cadre:public Teacher,public Cadre
{
private:
double wages;
public:
Teacher_Cadre(string name2,int age2,char sex2,string address2,int phone2,string post2,string title1,double wages1):Teacher(name2,age2,sex2,address2,phone2,title1),Cadre(name2,age2,sex2,address2,phone2,post2),wages(wages1){};
void show();
};
void Teacher_Cadre::show()
{
Teacher::display();
cout<<"职务为:"<<post<<endl;
cout<<"工资为:"<<wages<<endl;
}
int main()
{
Teacher_Cadre sun("Zhangsan",25,'M',"烟台大学",10086,"教师","程序员",15000);
sun.show();
return 0;
}
运算结果:
学习心得:
了解了如何利用多重继承从两个类中派生出新的类,并且知道了在多重继承中,构造函数写一个就行了。