根据给定的文件信息,我们可以总结出以下关于“设计一个大学的类系统”的知识点: ### 1. 头文件的引入 在C++程序中,`#include`语句用于引入必要的头文件,这些头文件包含了编译时所需的类型信息、函数声明等。在这个例子中,`#include <iostream>` 和 `#include <string>` 是两个重要的头文件。 - **`<iostream>`**:提供了输入输出流对象的标准库,如`cin`和`cout`。 - **`<string>`**:提供了字符串操作的功能。 此外,`using namespace std;` 表示将标准库中的命名空间`std`中的所有标识符导入到当前作用域,这样可以省略在使用`std`命名空间中的标识符(如`std::cout`)前加上`std::`。 ### 2. 类的设计与实现 #### 2.1 基本类 `person` - **属性**:`person` 类包含了姓名`name`和身份证号`id`两个私有成员变量。 - **构造函数**:提供了一个初始化成员变量的构造函数。 - **显示方法**:`display` 方法用于显示人员的基本信息。 #### 2.2 派生类 `teacher` - **继承关系**:`teacher` 类继承自`person`类。 - **新增属性**:`teacher` 类添加了教授的科目`pro`。 - **构造函数**:提供了初始化教师信息的构造函数,并通过调用基类的构造函数来设置`person`的信息。 - **显示方法**:重写了`display`方法,以展示教师的全部信息。 #### 2.3 派生类 `student` - **继承关系**:`student` 类同样继承自`person`类。 - **新增属性**:学生类添加了作业`homework`和学号`num`。 - **构造函数**:提供了初始化学生信息的构造函数,并通过调用基类的构造函数来设置`person`的信息。 - **显示方法**:重写了`display`方法,以展示学生的全部信息。 #### 2.4 派生类 `worker` - **继承关系**:`worker` 类继承自`person`类。 - **新增属性**:职员类添加了工作`work`。 - **构造函数**:提供了初始化职员信息的构造函数,并通过调用基类的构造函数来设置`person`的信息。 - **显示方法**:重写了`display`方法,以展示职员的全部信息。 ### 3. 主函数 `main` - **实例化对象**:创建了`person`、`student`、`teacher` 和 `worker` 的实例。 - **调用显示方法**:通过调用每个对象的`display`方法,展示各个实例的具体信息。 ### 4. 继承与多态的应用 - **继承**:通过`teacher`、`student` 和 `worker` 类从`person`类派生,实现了代码的复用。 - **多态**:通过在不同的类中重写`display`方法,实现了不同对象的统一接口调用,展示了多态性的应用。 通过以上分析可以看出,该代码实现了基于类和对象的面向对象编程思想,通过继承和多态机制有效地组织和管理了大学系统的人员信息。这样的设计不仅提高了代码的复用性,也增强了程序的扩展性和维护性。
- 粉丝: 21
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 所有算法均在 Python 3 中实现,是 hacktoberfest2020 的一个项目 - 没有针对 hacktoberfest 2021 的问题或 PR.zip
- 用springmvc实现的校园选课管理系统
- 我的所有 Python 代码都存储在这个文件夹中 .zip
- 以下是关于毕业设计项目开发的详细资源.docx
- 嵌入式系统安全-C2000 MCU利用JTAGLOCK特征增强设备安全性
- 在Android Studio中创建一个简单的计算器应用.docx
- 我的 Python 演示.zip
- 以下是关于MySQL的详细学习资源.docx
- 西安电子科技大学的微机原理实验.docx
- OpenCV入门教程及案例.docx