C++实现工资管理系统:文员与业务员薪酬计算
需积分: 9 121 浏览量
更新于2024-09-13
收藏 59KB DOC 举报
本资源是一份C++编程作业,涉及到员工工资管理系统的设计。主要关注三个类:`Person`、`Cservant`(文员)和`Salesman`(业务员)。以下是关于这些类及其相关功能的详细解释:
1. **类定义**:
- `Person` 类:这是一个基类,用于表示所有员工的基础属性,如工号(`int ID`)、姓名、性别、联系方式、国籍、职位和收入。它包含两个虚函数 `CalcSalary()` 和 `Output()`,这些函数在派生类中会被重写以实现特定计算和输出。
2. **派生类**:
- `Cservant` 类:继承自 `Person`,专为文员设计。除了基础属性,还添加了上个月完成的工作量(`double Workload`)作为私有变量。`Cservant` 类提供了一个方法来获取和设置工作量,以及一个具体的 `CalcSalary()` 方法,根据文员的基本工资 `CSalary` 和工作量进行计算,工作量超过20时,每超过部分按20的比例增加工资。`Output()` 函数在计算工资后显示员工信息。
- `Salesman` 类:同样继承自 `Person`,专为业务员设计。这个类也包括工作量的私有变量,并且在 `CalcSalary()` 方法中根据业务员的基本工资 `SSalary` 和工作量进行计算。具体机制与文员类似,但可能有不同的计算规则。
3. **全局数据和对象**:
- `double CSalary`, `double SSalary`, 和 `double APSalary` 分别代表文员、业务员和行政人员的基本工资,它们是全局变量,用于在整个程序中存储和处理不同职位的工资标准。
4. **核心功能**:
- 主要关注的是如何通过C++代码实现员工的工资计算,这涉及到继承、多态性(虚函数)的应用以及类间的协作。`CalcSalary()` 函数在每个派生类中被重写,以便根据员工的具体职位(文员或业务员)进行定制化的工资计算。
5. **文件结构**:
根据提供的代码片段,可以推测该作业文件可能包含头文件(如 `<iostream.h>`,应为 `<iostream>`),用于输入输出操作;`<fstream.h>` 用于文件操作;`<ctype.h>` 和 `<string.h>` 提供字符串处理功能。
这份C++作业围绕着如何创建一个基本的工资管理系统展开,通过类结构和继承来管理文员和业务员的工资计算,并展示了如何利用全局变量存储职位差异化的工资标准。理解并实现这些类的功能对于学习C++面向对象编程以及继承和多态的应用至关重要。
2009-06-19 上传
2016-01-06 上传
2022-06-18 上传
2011-12-19 上传
2009-11-17 上传
2021-08-30 上传
2008-12-25 上传
u013245525
- 粉丝: 0
- 资源: 1
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍