C++第五次实验——项目二
来源:互联网 发布:战舰世界mac版国服 编辑:程序博客网 时间:2024/06/11 11:33
一、问题及代码
项目2: 教师干部类
分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:
(1)在两个基类中都包含姓名、年龄、性别等数据成员。
(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。
(3)对两个基类中的姓名、年龄、性别等数据成员用相同的名字,在引用这些数据成员时,指定作用域。
(4)在类体中声明成员函数,在类外定义成员函数。
(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称,然后再用cout语句输出职务与工资。
#include<string> #include <iostream> using namespace std; class Teacher { public: Teacher(string nam,int a,string s,string tit); void display(); protected: string name; int age; string sex; string title; }; Teacher::Teacher(string nam,int a,string s,string tit): name(nam),age(a),sex(s),title(tit) { } void Teacher::display() { cout<<"姓名:"<<name<<endl; cout<<"年龄:"<<age<<endl; cout<<"性别:"<<sex<<endl; cout<<"职称:"<<title<<endl; } class Cadre { public: Cadre(string nam,int a,string s,string p); void display(); protected: string name; int age; string sex; string post; }; Cadre::Cadre(string nam,int a,string s,string p): name(nam),age(a),sex(s),post(p) {} void Cadre::display() { cout<<"姓名:"<<name<<endl; cout<<"年龄:"<<age<<endl; cout<<"性别:"<<sex<<endl; cout<<"职称:"<<post<<endl; } class Teacher_Cadre:public Teacher,public Cadre { public: Teacher_Cadre(string nam,int a,string s,string tit,string p,float w); void show( ); private: float wage; }; Teacher_Cadre::Teacher_Cadre(string nam,int a,string s,string t,string p,float w): Teacher(nam,a,s,t),Cadre(nam,a,s,p),wage(w) {} void Teacher_Cadre::show( ) { Teacher::display(); cout<<"职称:"<<Cadre::post<<endl; cout<<"工资:"<<wage<<endl; } int main( ) { Teacher_Cadre te_ca("曾辉",42,"男","副教授","主任",1534.5); te_ca.show( ); return 0; }
二、运行结果
三、心得体会
继承和派生还不是很熟练,格式记忆不清楚,编的比较困难。
四、知识点总结
公有继承,派生类构造函数。
0 0
- C++第五次实验——项目二
- C++第五次实验——项目二
- c++第五次实验—项目一
- 第五次实验--数组—
- c++第五次实验——项目一:数组分离
- C++第五次实验作业——项目一
- c++第五次实验—项目三:成绩
- c++第五次实验 项目二 正整数类
- C++第1次实验(基础班)—初识C++(项目二2)
- C++第1次实验(基础班)—初识C++(项目二3)
- c++第五次实验——求和
- C++第五次实验——作业
- 第五次实验——数组
- c++第五次上机实验—作业
- C++第五次实验—作业
- C++第四次实验——项目二
- C++第五次剩余项目—数组选择(非实验和作业)
- c++第五次实验项目一
- ios中获得UUID的方法,ios怎么获得uuid
- 感觉略炫酷的将正在运行的程序切换到后台运行
- Java泛型
- 实例变量 定义在 @interface 和 @implementation 有何区别?
- 剑指offer:数据流中的中位数
- C++第五次实验——项目二
- 第10章 Android的消息机制
- 浅谈UML学习笔记之用例图
- 动态获取UILabel的bounds
- codeforces 670C Cinema
- 2、Ajax与Java通过POST方式交互
- 欢迎使用CSDN-markdown编辑器
- Shader之学习笔记四
- 数据存储(3)自定义内容提供器