/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:郭永恒
*完成日期:2016年5月4日
*版 本 号:v1.0
*
*问题描述:分别定义Teacher类和Cadre类,由这两个类派生出Teacher_Cadre类
*/
类:
#include <iostream>
#include <string>
using namespace std;
class Teacher
{
public:
Teacher(string nam,int ag, string se, string add, string pho, string tit):
name(nam),age(ag),sex(se),addr(add),phone(pho),title(tit){}
void display();
protected:
string name;
int age;
string sex;
string addr;
string phone;
string title;
};
void Teacher::display()
{
cout << " 姓名:" << name << endl;
cout << " 年龄:" << age << endl;
cout << " 性别:" << sex << endl;
cout << " 地址:" << addr << endl;
cout << " 电话:" << phone << endl;
cout << " 职称:" << title << endl;
}
class Cadre
{
public:
Cadre(string nam,int ag, string se, string add, string pho, string pos):
name(nam),age(ag),sex(se),addr(add),phone(pho),post(pos){}
void display();
protected:
string name;
int age;
string sex;
string addr;
string phone;
string post;
};
void Cadre::display()
{
cout << " 姓名:" << name << endl;
cout << " 年龄:" << age << endl;
cout << " 性别:" << sex << endl;
cout << " 地址:" << addr << endl;
cout << " 电话:" << phone << endl;
cout << " 职务:" << post << endl;
}
class Teacher_Cadre: public Teacher,public Cadre
{
public:
Teacher_Cadre(string nam,int ag, string se, string add, string pho, string tit, string pos,int wage):
Teacher(nam,ag,se,add,pho,tit),Cadre(nam,ag,se,add,pho,pos),wages(wage){}
void show();
private:
int wages;
};
void Teacher_Cadre::show()
{
Teacher::display();
cout << " 职务:" << post << endl;
cout << " 工资:" << wages << endl;
}
测试函数:
int main()
{
Teacher_Cadre F("Bob",25,"male","New York","000-0000","senior teacher","director",5000);
F.show();
return 0;
}
运行结果: