前言: 本案例是b站黑马C++视频教程里面的,本人学了一段时间的C++,然后也看一了部分视频,然后按照视频讲义在linux环境下敲了一遍。本人感觉学习C++语言还是要勤动手才行; 一. 本项目通过手动敲一遍培养了自己的C++代码的手感,毕竟以前是写C代码的,起初写C++代码还是有点不太习惯,但是通过本项目的训练,我觉得自己已经慢慢培养了C++代码的手感; 二.写代码代码的需求: 可以通过视频的讲义中查看:
本教程主要利用C++来实现一个基于多态的职工管理系统
公司中职工分为三类:普通员工、经理、老板,显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责
普通员工职责:完成经理交给的任务
经理职责:完成老板交给的任务,并下发任务给员工
老板职责:管理公司所有事务
管理系统中需要实现的功能如下:
* 退出管理程序:退出当前管理系统
- 增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号
- 显示职工信息:显示公司内部所有职工的信息
- 删除离职职工:按照编号删除指定的职工
- 修改职工信息:按照编号修改职工个人信息
- 查找职工信息:按照职工的编号或者职工的姓名进行查找相关的人员信息
- 按照编号排序:按照职工编号,进行排序,排序规则由用户指定
- 清空所有文档:清空文件中记录的所有职工信息 (清空前需要再次确认,防止误删)
三.熟悉了动态多态的使用: 在本项目中在Workmanager类中维护了一个父类指针,父类指针存储创建的职工、经理和boss类;
switch (select)
{
case 1:
pwork = new Employee(id, name, select);
break;
case 2:
pwork = new Manager(id, name, select);
break;
case 3:
pwork= new Boss(id, name, select);
break;
default:
printf("not support this select:%d\n",select);
break;
}
四.熟悉了文件的读写操作 五.Makefile模板 详见代码库: [我的码云库地址]:(https://gitee.com/lixinyu7/cpp_direct/tree/master/employeeManager)
|