15、题目描述: 有五个类,各类的主要数据成员见下方说明,请自己定义合理的成员函数,编程实现体现该继承关系的程序,并定义教师对象、学生对象、研究生对象、在职研究生对象,输出他们的信息。 关于数据成员: 数据类 Data :成员 name 保存姓名; // 该类是 Teacher 类和 Student 类的基类 教师类 Teacher :增加成员 sal 保存工资; 学生类 Student :增加成员 id 保存学号; // 该类是 PostGrad 类的基类 研究生类 PostGrad :增加成员 dn 保存系别; 教师中的在职研究生类 Tpost :不另外定义数据成员。 // 该类有两个直接基类: Teacher 类和研究生类 PostGrad 关于成员函数: 每个类中均定义输出所有数据成员的函数 void print ( ) 。具体代码可参考主函数及对应的输出结果样例来完成。 【C++编程实践:类与继承的实现】 在C++编程中,类是构建面向对象程序设计的基础。这里我们讨论的题目涉及到了类的继承和数据成员的管理,以及如何通过成员函数操作这些数据。我们需要理解题目给出的类结构: 1. 数据类 `Data`:作为`Teacher`和`Student`的基类,它有一个成员变量`name`用于存储姓名。 2. `Teacher`类:继承自`Data`,增加了一个成员变量`sal`用于存储工资。 3. `Student`类:同样继承自`Data`,增加了一个成员变量`id`用于存储学号,同时也是`PostGrad`类的基类。 4. `PostGrad`类:继承自`Student`,增加了一个成员变量`dn`用于存储系别。 5. `Tpost`类:同时继承自`Teacher`和`PostGrad`,没有额外的数据成员。 题目要求定义合理的成员函数,尤其是`print()`函数,它用于输出每个类的全部数据成员。例如,对于`Teacher`类,`print()`函数可能如下: ```cpp class Teacher : public Data { private: double sal; public: Teacher(string n, double s) : Data(n), sal(s) {} void print() { cout << "Name: " << name << ", Salary: " << sal << endl; } }; ``` 对于`Student`类,除了基本的`print()`外,可能还需要考虑构造函数来初始化`id`: ```cpp class Student : public Data { private: int id; public: Student(string n, int i) : Data(n), id(i) {} void print() { cout << "Name: " << name << ", ID: " << id << endl; } }; ``` 类似地,可以为`PostGrad`和`Tpost`类定义`print()`函数。为了输出教师、学生、研究生和在职研究生的信息,可以在`main()`函数中创建相应的对象并调用`print()`函数。 此外,题目还给出了两个额外的编程任务: 1. 输入半径计算面积和周长:这个任务涉及到基本的数学计算和输入输出操作。我们可以定义一个`Circle`类,包含一个半径`r`和两个计算面积和周长的成员函数。在`main()`中,先读取用户输入的半径,然后创建`Circle`对象并调用这两个函数输出结果。 2. 动态内存管理:这个任务要求使用`new`运算符分配内存,存储数组,统计正数和负数的个数,最后用`delete`释放内存。在`main()`中,我们可以分配一个大小为20的整数数组,读取用户输入的数值,统计正负数个数,然后输出结果并释放内存。 对于这两个任务,代码已经在问题的【部分内容】中给出,它们展示了基本的输入输出、动态内存管理和简单的数据统计功能。 这个C++练习题旨在考察类的继承、成员函数的使用、以及基础的输入输出和内存管理。通过完成这些任务,你可以加深对C++面向对象编程的理解,掌握类的构建、继承、以及对象的实例化和操作。
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/7388081/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/7388081/bg2.jpg)
![](https://csdnimg.cn/release/download_crawler_static/7388081/bg3.jpg)
![](https://csdnimg.cn/release/download_crawler_static/7388081/bg4.jpg)
![](https://csdnimg.cn/release/download_crawler_static/7388081/bg5.jpg)
剩余49页未读,继续阅读
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/01ac52e4c9004d35bf8e4175862d9d1b_u012864552.jpg!1)
- 粉丝: 1
- 资源: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 基于改进联邦学习算法的电力负荷预测方法.pdf
- 基于联邦学习的多囊卵巢综合征预测平台的构建.pdf
- 授权委托书模版.docx
- 跟着AI做量化-1 生成的示例交互网页
- 奔图CP1100DN,统信UOS打印机驱动
- KML地理可视化图层制作工具
- 用Qt做的拼图小游戏项目源码(高分课设大作业项目).zip
- 清华大学第三弹:普通人如何抓住DeepSeek红利.pdf
- 2025代码雨、旋转的地球-TypeScript.zip
- 基于PFC 5.0-6.0版本的单轴双轴应力路径循环加卸载程序的试验分析研究,《基于PFC5.0/6.0程序模型的单轴双轴应力路径循环加卸载仿真研究》,pfc5.0 6.0单轴双轴不同应力路径循环加卸
- 嵌入式 lwip http server makefsdata.exe
- 课程材料OpenHarmony5.0 应用开发入门
- 2025新年倒计时特效、一个使用 Vue 3 开发的新年倒计时页面,包含动态星空背景和烟花特效 实时倒计时显示(天时分秒) - 动态星空背景 - 烟花动画效果 - 响应式设计
- 基于C++实现的(控制台)航空客运订票系统源码+文档说明
- 基于MATLAB的车辆状态可视化方案:实时绘制航向角、前轮转角及车身轮廓,基于MATLAB的车辆状态实时可视化方案:涵盖航向角、前轮转角与车身轮廓的仿真模拟,一种仿真场景中车辆状态的可视化方案
- 电动汽车参与削峰填谷的多目标充放电优化调度策略:均衡负荷波动、电池退化损耗与峰谷差优化求解,电动汽车削峰填谷充放电策略:三目标优化调度与效果分析-综合负荷管理、电池损耗最小化及负荷波动优化,面向削峰
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)