.h文件
workerManager.h:文件管理类
#pragma once //防止都文件重复包含#include<iostream> //包含输入输出流头文件using namespace std;//使用标准命名空间class WoerkerManager{public: //头文件种,只做声明,不做实现 //构造函数 WoerkerManager(); //展示菜单 void Show_Menu(); //退出系统 void ExitSystem(); //析构函数 ~WoerkerManager();};
职位头文件:
worker.h:职位父类
#pragma once#include<iostream>#include<string>using namespace std;//职工抽象类class Worker{public: //显示个人所有信息 virtual void showInfo() = 0;//纯虚函数声明 //获取岗位名称 virtual string getDeptName() = 0;//纯虚函数声明 //职工编号 int m_ID; //职工姓名 string m_Name; //部门编号 int m_DeptID;};
manager.h:经理做为职位子类
#pragma once#include<iostream>#include<string>#include"worker.h"//因为要继承worker类,要引入头文件using namespace std;//员工文件子类:经理类class Manager :public Worker{public: //构造函数 Manager(int id, string name, int dId); //显示个人所有信息 virtual void showInfo(); //获取岗位名称 virtual string getDeptName();};
employee.h:普通员工做为职位子类
#pragma once#include<iostream>#include<string>#include"worker.h"//因为要继承worker类,要引入头文件using namespace std;//员工文件子类:普通职工类class Employee :public Worker{public: //构造函数:对普通员工类做初始化 Employee(int id,string name,int dId); //子类中的纯虚函数virtual关键字,可以删,也可以不删 //显示个人所有信息 void showInfo(); //获取岗位名称 virtual string getDeptName();};
boss.h:老板做为职位子类
#pragma once#include<iostream>#include<string>#include"worker.h"//因为要继承worker类,要引入头文件using namespace std;//员工文件子类:老板类class Boss :public Worker{public: //构造函数:对普通员工类做初始化 Boss(int id, string name, int dId); //子类中的纯虚函数virtual关键字,可以删,也可以不删 //显示个人所有信息 void showInfo(); //获取岗位名称 virtual string getDeptName();};
.cpp文件
职工管理系统:执行文件
workerManager.cpp:文件管理类
职业文件:因为职位类有纯虚函数,所以无法实例化,就没有cpp文件
manager.cpp:经理做为职位子类
#include"manager.h"//构造函数Manager::Manager(int id, string name, int dId){ //初始化成员属性 this->m_ID = id; this->m_Name = name; this->m_DeptID = dId;}//显示个人所有信息void Manager::showInfo(){ cout << "职工编号:" << this->m_ID << "\t职工姓名:" << this->m_Name << "\t岗位:" << this->getDeptName() << "\t岗位职责:完成老板交给的任务,并分配任务给员工" << endl;}//获取岗位名称string Manager::getDeptName(){ return string("经理");}
employee.cpp:普通员工做为职位子类
#include"employee.h"//构造函数Employee::Employee(int id, string name, int dId){ //初始化成员属性 this->m_ID = id; this->m_Name = name; this->m_DeptID = dId;}////显示个人所有信息void Employee::showInfo(){ cout << "职工编号:" << this->m_ID << "\t职工姓名:" << this->m_Name << "\t岗位:" << this->getDeptName() << "\t岗位职责:完成经理交给的任务" << endl;}//获取岗位名称string Employee::getDeptName(){ return string("员工"); //如果不自己加string包含字符串,编译器会做隐式类型转换}
boss.cpp:老板做为职位子类
#include"boss.h"//构造函数Boss::Boss(int id, string name, int dId){ //初始化成员属性 this->m_ID = id; this->m_Name = name; this->m_DeptID = dId;}////显示个人所有信息void Boss::showInfo(){ cout << "职工编号:" << this->m_ID << "\t职工姓名:" << this->m_Name << "\t岗位:" << this->getDeptName() << "\t岗位职责:管理公司所有事务" << endl;}//获取岗位名称string Boss::getDeptName(){ return string("老板"); //如果不自己加string包含字符串,编译器会做隐式类型转换}