/*
*copyright(c) 2016,烟台大学计算机与控制工程学院
*All rights reserved
*文件名称:test.cpp
*作者:李硕
*版本:Code::Blocks
*
*问题描述:(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。
(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。
(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。
(4)在类体中声明成员函数,在类外定义成员函数。
(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。
*输入描述:
*程序输出:
*/
#include <iostream>
using namespace std;
class Teacher
{
public:
Teacher(string a,int b,char c,string d,string e,string f):nam(a),age(b),sex(c),add(d),num(e),tit(f){}
void display();
protected:
string nam,tit;
int age;
char sex;
string add;
string num;
};
void Teacher::display()
{
cout<<"教师:"<<endl;
cout<<nam<<" "<<age<<" "<<sex<<" "<<add<<" "<<num<<" "<<tit<<endl;
}
class Cadre
{
public:
Cadre(string a,int b,char c,string d,string e,string f):nam(a),age(b),sex(c),add(d),num(e),post(f){}
void display();
protected:
string nam,post;
int age;
char sex;
string add;
string num;
};
void Cadre::display()
{
cout<<"教师:"<<endl;
cout<<nam<<" "<<age<<" "<<sex<<" "<<add<<" "<<num<<" "<<post<<endl;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
Teacher_Cadre(string nam,int a,char s,string tit,string p,string ad,string t,float w);
void show( );
private:
float wage;
};
Teacher_Cadre::Teacher_Cadre(string nam,int a,char s,string t,string p,string ad,string tel,float w):
Teacher(nam,a,s,t,ad,tel),Cadre(nam,a,s,p,ad,tel),wage(w) {}
void Teacher_Cadre::show( )
{
Teacher::display();
cout<<"post:"<<Cadre::post<<endl;
cout<<"wages:"<<wage<<endl;
}
int main( )
{
Teacher_Cadre te_ca("Lee",20,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",2504.3);
te_ca.show( );
return 0;
}<img src="https://img-blog.csdn.net/20160515081627270?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
第10、11周项目4 教师兼干部类
最新推荐文章于 2016-06-01 12:48:20 发布