实现功能一:增加职工
将三类成员(员工,经理,老板)作为子类
worker作为父类分别制作头文件
#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;
};
建立子类-worker.h,manager.h,boss.h
#pragma once
#include<iostream>
using namespace std;
#include "worker.h"
//类
class boss :public worker
{
public:
//构造函数
boss(int id, string name, int did);
//显示个人所有信息:
virtual void showinfo();
//获取岗位名称
virtual string getdeptname();
};
#pragma once//防止头文件重复包含
#include<iostream>//包含输入输出流头文件
#include<string>
using namespace std;//使用标准命名空间
#include"worker.h"
//普通员工文件
class employee :public worker
{
public:
//构造函数
employee(int id, string name, int did);
//显示个人所有信息:
virtual void showinfo();
//获取岗位名称
virtual string getdeptname();
};
#pragma once
#include<iostream>
using namespace std;
#include "worker.h"
//经理类
class manager :public worker
{
public:
//构造函数
manager(int id, string name, int did);
//显示个人所有信息:
virtual void showinfo();
//获取岗位名称
virtual string getdeptname();
};
在源文件中对虚函数重新定义
#include"workermanager.h"
workermanager::workermanager()
{
}
//展示菜单
void workermanager::shou_menu()
{
cout << "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$ 欢迎使用职工管理系统!$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 0.退出管理程序 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 1.增加职工信息 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 2.显示职工信息 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 3.删除离职员工 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 4.修改职工信息 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 5.查找职工信息 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 6.按照编号排序 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$ 7.清空所有文档 $$$$$$$$$$$$$$" << endl;
cout << "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" << endl;
cout << endl;
}
//退出系统
void workermanager:: exitsystem()
{
cout << "欢迎下次使用!" << endl;
system("pause");
exit(0);
}
workermanager::~workermanager()
{
}
#include"boss.h"
#include<string>
//构造函数
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 "老板";
}
#include"employee.h"
#include<string>
//构造函数
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 "员工";
}
#include"manager.h"
#include<string>
//构造函数
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 "经理";
}
在职工管理系统中进行测试 看看是否实现功能1的增加员工功能
#include<iostream>
using namespace std;
#include"workermanager.h"
#include"boss.h"
#include"manager.h"
#include "worker.h"
#include"employee.h"
int main() {
//测试代码
worker * worker = NULL;
worker = new employee(1, "张三", 1);
worker->showinfo();
delete worker;
worker = new manager(2, "李四", 2);
worker->showinfo();
delete worker;
worker = new boss(3, "王五", 3);
worker->showinfo();
delete worker;
//
// //实例化管理者对象
// workermanager wm;
//
// int choice = 0;//用来存储用户的选项
//
// while (true)
// {
// wm.shou_menu();
// cout << "请输入您的选择:" << endl;
// cin >> choice;//接受用户的选项
//
// switch (choice)
// {
// case 0://退出系统
// wm.exitsystem();
// break;
// case 1://增加职工
// break;
// case 2://显示职工
// break;
// case 3://删除职工
// break;
// case 4://修改职工
// break;
// case 5://查找职工
// break;
// case 6://排序职工
// break;
// case 7://清空文档
// break;
//
// default:
// system("cls");//清屏操作
// break;
// }
//
// }
//
//
//
//
//
//
//
// system("pause");
// return 0;
//}
|