关闭

第十一周上机实践项目4:教师兼干部类

96人阅读 评论(0) 收藏 举报
/*
 *Copyright(c) 2016.烟台大学计算机与控制工程学院
 *ALL rights  reserved.
 *文件名称:text11.cpp
 *作者:赵子琳
 *完成日期:2016年6月2日
 *问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重
 *继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。<pre class="cpp" name="code">(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 nam,int a,char s,string tit,string ad,string t): name(nam),age(a),sex(s),title(tit),adress(ad),number(t) { }
    void show();
protected:
    string name;
    int age;
    char sex;
    string adress;
    string number;
    string title;

};
void Teacher::show()
{
    cout<<"name:"<<name<<endl;
    cout<<"age:"<<age<<endl;
    cout<<"sex:"<<sex<<endl;
    cout<<"address:"<<adress<<endl;
    cout<<"number:"<<number<<endl;
    cout<<"title:"<<title<<endl;

}
class Cadre
{
public:
    Cadre(string nam,int a,char s,string p,string ad,string t):name(nam),age(a),sex(s),post(p),adress(ad),number(t) {}
    void show();
protected:
    string name;
    int age;
    char sex;
    string adress;
    string number;
    string post;

};
void Cadre::show()
{
    cout<<"name:"<<name<<endl;
    cout<<"age:"<<age<<endl;
    cout<<"sex:"<<sex<<endl;
    cout<<"post:"<<post<<endl;
    cout<<"address:"<<adress<<endl;
    cout<<"number:"<<number<<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::show();
    cout<<"post:"<<Cadre::post<<endl;
    cout<<"wages:"<<wage<<endl;
}

int main( )
{
    Teacher_Cadre te_ca("Wang-li",50,'f',"prof.","president","135 Beijing Road,Shanghai","(021)61234567",1534.5);
    te_ca.show( );
    return 0;
}




0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19454次
    • 积分:1393
    • 等级:
    • 排名:千里之外
    • 原创:127篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    最新评论
  • C++学习心得

    gyhguoge01234: 666,真没想到琳少还有这般觉悟,琳少做面子活的功夫果然不一般,在下佩服佩服。