第十二周项目1- 教师兼干部类

本文介绍了一个使用C++实现的多重继承示例,通过定义Teacher(教师)类和Cadre(干部)类,并从这两个基类派生出Teacher_Cadre类来模拟既是教师又是干部的情况。示例展示了如何在派生类中调用基类构造函数及成员函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*
 *Copyright (c) 2014, 烟台大学计算机学院
 *All rights reserved.
 *文件名称:week12-1.cpp
 *作者:高赞
 *完成日期:2015年 5 月 21 日
 *版本号:v1.0
 *
 *问题描述:分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre
 *          
 */
#include <iostream>

using namespace std;
class Teacher
{
public:
    Teacher();
    Teacher(string,int,string,string,string,string);
    void display();
private:
    string name;
    int age;
    string sex;
    string addr;
    string tel;
    string title;
};
Teacher::Teacher() {}
Teacher::Teacher(string n,int a,string s,string ad,string te,string ti):
    name(n),age(a),sex(s),addr(ad),tel(te),title(ti) {};
void Teacher::display()
{
    cout<<"姓名:"<<name<<endl
        <<"年龄:"<<age<<endl
        <<"性别:"<<sex<<endl
        <<"地址:"<<addr<<endl
        <<"电话:"<<tel<<endl
        <<"职称:"<<title<<endl;
}
class Cadre
{
public:
    Cadre();
    Cadre(string,int,string,string,string,string);
    void display();
    string getpost();
private:
    string name;
    int age;
    string sex;
    string addr;
    string tel;
    string post;
};
Cadre::Cadre() {}
Cadre::Cadre(string n,int a,string s,string ad,string t,string p):
    name(n),age(a),sex(s),addr(ad),tel(t),post(p) {}
void  Cadre::display()
{
    cout<<"姓名:"<<name<<endl
        <<"年龄:"<<age<<endl
        <<"性别:"<<sex<<endl
        <<"地址:"<<addr<<endl
        <<"电话:"<<tel<<endl
        <<"职务:"<<post<<endl;
}
string Cadre::getpost()
{
    return post;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
    Teacher_Cadre();
    Teacher_Cadre(string,int,string,string,string,string,string,double);
void    show();
private:
    double wages;
};
Teacher_Cadre::Teacher_Cadre() {}
Teacher_Cadre::Teacher_Cadre(string n,int a,string s,string ad,string te,string ti,string p,double w):
    Teacher(n,a,s,ad,te,ti),Cadre(n,a,s,ad,te,p),wages(w) {}
void Teacher_Cadre:: show()
{
    Teacher::display();
    cout<<"职务:"<<getpost()<<endl
        <<"工资:"<<wages<<endl;
}
int main()
{
    Teacher_Cadre a("小A",25,"男","清明小区","12345678900","讲师","党干部",5000);
    a.show();
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值