第八次作业

来源:互联网 发布:saber软件百度云 编辑:程序博客网 时间:2024/05/18 00:23

一、问题及代码

/* 文件名称:项目.cpp    * 作    者:严明远    * 完成日期:2017 年 5 月 26 日    * 版 本 号:v1.0    * 对任务及求解方法的描述部分:    * 输入描述:无    * 问题描述: 项目2:  教师干部类分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: (1)在两个基类中都包含姓名、年龄、性别等数据成员。 (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。 (3)对两个基类中的姓名、年龄、性别等数据成员用相同的名字,在引用这些数据成员时,指定作用域。 (4)在类体中声明成员函数,在类外定义成员函数。 (5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称,然后再用cout语句输出职务与工资。* 算法设计:略    */ #include<iostream>#include<string>using namespace std;class Teacher{public:Teacher(string n,int a,string s,string t){name=n;age=a;sex=s;title=t;}void show();private:string name;string sex;string title;int age;};void Teacher::show(){cout<<"姓名:"<<name<<"\n年龄:"<<age<<"\n性别:"<<sex<<"\n职称:"<<title;}class Cader{public:Cader(string p){post=p;}string getpost();private:string name;string sex;string post;int age;};string Cader::getpost(){return post;}class Teacher_Cader:public Teacher,public Cader{public:Teacher_Cader(string n,int a,string s,string t,string p,int w):Teacher(n,a,s,t),Cader(p),wages(w){}void dispaly();int getwages();private:int wages;};void Teacher_Cader::dispaly(){Teacher::show();cout<<"\n职务:"<<Cader::getpost()<<"\n工资:"<<getwages()<<endl;}int Teacher_Cader::getwages(){return wages;}int main(){Teacher_Cader  t("严明远",20,"男","学生","游戏主播",8000);t.dispaly();return 0;}

二、运行结果