第12周 【项目1 - 教师兼干部类】

问题描述:

分别定义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 <cstring>
using namespace std;
class Teacher{
protected:
    string name;
    string sex;
    string address;
    string phone;
    string title;
    int age;
public:
    Teacher(string n,string s,string a,string p,string t,int ag){
        name=n;sex=s;address=a;
        phone=p;title=t,age=ag;
    }
    void output();
};
void Teacher::output(){
    cout<<"name: "<<name<<'\12';
    cout<<"sex: "<<sex<<'\12';
    cout<<"address: "<<address<<'\12';
    cout<<"phone: "<<phone<<'\12';
    cout<<"title: "<<title<<'\12';
    cout<<"age: "<<age<<'\12';
}
class Cadre{
protected:
    string name;
    string sex;
    string address;
    string phone;
    string past;
    int age;
public:
    Cadre(string n,string s,string a,string p,string pa,int ag)
    :name(n),sex(s),address(a),phone(p),past(pa),age(ag){}
    void output();
};
void Cadre::output(){
    cout<<"name: "<<name<<'\12';
    cout<<"sex: "<<sex<<'\12';
    cout<<"address: "<<address<<'\12';
    cout<<"phone: "<<phone<<'\12';
    cout<<"past: "<<past<<'\12';
    cout<<"age: "<<age<<'\12';
}
class Teacher_Cadre:public Teacher,public Cadre{
private:
    double wages;
public:
    Teacher_Cadre(string n,string s,string a,string p,string t,string pa,int ag,double w)
    :Teacher(n,s,a,p,t,ag),Cadre(n,s,a,p,pa,ag),wages(w){}
    void show();
};
void Teacher_Cadre::show(){
    cout<<"name: "<<Teacher::name<<'\12';
    cout<<"sex: "<<Teacher::sex<<'\12';
    cout<<"address: "<<Teacher::address<<'\12';
    cout<<"phone: "<<Teacher::phone<<'\12';
    cout<<"title: "<<Teacher::title<<'\12';
    cout<<"past: "<<Cadre::past<<'\12';
    cout<<"age: "<<Teacher::age<<'\12';
    cout<<"wages: "<<wages<<'\12';
}
int main(){
    Teacher_Cadre my("小范","男","烟台大学南校区","178628*****","讲师","助教",22,8888);
    my.show();
    cout<<'\12';
    my.Teacher::output();
    cout<<'\12';
    my.Cadre::output();
    return 0;
}

运行结果:

时间: 2024-10-07 10:39:10

第12周 【项目1 - 教师兼干部类】的相关文章

第12周 项目一-教师兼干部类

分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部).要求: (1)在两个基类中都包含姓名.年龄.性别.地址.电话等数据成员. (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资). (3)对两个基类中的姓名.年龄.性别.地址.电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域. (4)在

12周 项目2 老师兼干部类

#include <iostream> #include <string> using namespace std; class Teacher { public: Teacher(string nam,int ag,char s,string ad,int num,string t) { name=nam; age=ag; sex=s; add=ad; number=num; title=t; } void display() { cout<<"name:

第十二周项目一 教师兼干部类】 共建虚基类person

项目1 - 教师兼干部类] 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部).要求: (1)在两个基类中都包含姓名.年龄.性别.地址.电话等数据成员. (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资). (3)对两个基类中的姓名.年龄.性别.地址.电话等数据成员用相同的名字,在引用这些数据成

第11周项目4教师兼干部类

/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称 : *作 者 : 刘云 *完成日期 : 2016年5月8号 *版 本 号 : v6.0 * *问题描述 : 教师兼干部类 *输入描述 : 无 *程序输出 : */ #include<iostream> #include<cstring> using namespace std; class Teacher { public: Teacher(string nam

第十周第十一周项目4教师兼干部类

/*Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称 : *作 者 : 李钊 *完成日期 : 2016年5月10号 *版 本 号 : v1.0 * *问题描述 : 教师兼干部类 *输入描述 : *程序输出 : 教师信息 */ #include <iostream> using namespace std; class Teacher { protected: int age; string name; string addr; s

第十、十一周项目四 - 教师兼干部类

/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年5月10日 *版 本 号:v1.0 * *问题描述:分别定义Teacher类和Cadre类,采用多重继承方式由这两个类派生出新类Teacher_Cadre. */ #include<iostream> #include<cstring> using namespace std; class Teacher

第十一周项目4-教师兼干部类

问题及代码: /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作 者:张伟晶 *完成日期:2016年5月9日 *版 本 号:v1.0 * *问题描述:教师兼干部类 *输入描述: *程序输出: */ #include<iostream> #include<string> using namespace std; //教师类 class Teacher { protected: string n

第12周上机实践项目1——教师兼干部类

分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部).要求: (1)在两个基类中都包含姓名.年龄.性别.地址.电话等数据成员. (2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资). (3)对两个基类中的姓名.年龄.性别.地址.电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域. (4)在

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

问题及代码: /* *Copyright (c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:text.cpp *作者:徐健 *完成日期:2015年5月6日 *版本号:v1.0 * *问题描述:定义一个教师类一个干部类,定义一个多继承派生类,输出信息 *输入描述: 无 *程序输出:教师兼干部的个人信息 */ #include <iostream> using namespace std; class Teacher { public : Teacher