浏览代码

完成所有职工类创建,并进行多态测试

Creamo 2 年之前
父节点
当前提交
793fdfbf21
共有 7 个文件被更改,包括 153 次插入34 次删除
  1. 26 0
      boss.cpp
  2. 20 0
      boss.h
  3. 26 0
      manager.cpp
  4. 20 0
      manager.h
  5. 45 34
      职工管理系统.cpp
  6. 4 0
      职工管理系统.vcxproj
  7. 12 0
      职工管理系统.vcxproj.filters

+ 26 - 0
boss.cpp

@@ -0,0 +1,26 @@
+#include "boss.h"
+
+//构造函数
+Boss::Boss(int id, std::string name, int dept_id)
+{
+	this->m_ID = id;
+	this->m_Name = name;
+	this->m_DeptID = dept_id;
+}
+
+
+//显示个人信息
+void Boss::showInfo()
+{
+	std::cout << "职工编号" << this->m_ID
+		<< "\t职工姓名" << this->m_Name
+		<< "\t岗位:" << this->getDeptName()
+		<< "\t岗位职责:管理公司所有事务"
+		<< std::endl;
+}
+
+//获取岗位名称
+std::string Boss::getDeptName()
+{
+	return std::string("老板");
+}

+ 20 - 0
boss.h

@@ -0,0 +1,20 @@
+#pragma once
+#include <iostream>
+#include "worker.h"
+
+class Boss : public Worker
+{
+public:
+
+	//构造函数
+	Boss(int id, std::string name, int dept_id);
+
+
+	//显示个人信息
+	virtual void showInfo();
+
+	//获取岗位名称
+	virtual std::string getDeptName();
+
+
+};

+ 26 - 0
manager.cpp

@@ -0,0 +1,26 @@
+#include "manager.h"
+
+//构造函数
+Manager::Manager(int id, std::string name, int dept_id)
+{
+	this->m_ID = id;
+	this->m_Name = name;
+	this->m_DeptID = dept_id;
+}
+
+
+//显示个人信息
+void Manager::showInfo()
+{
+	std::cout << "职工编号" << this->m_ID
+		<< "\t职工姓名" << this->m_Name
+		<< "\t岗位:" << this->getDeptName()
+		<< "\t岗位职责:完成老板交给的任务,下发任务给员工"
+		<< std::endl;
+}
+
+//获取岗位名称
+std::string Manager::getDeptName()
+{
+	return std::string("经理");
+}

+ 20 - 0
manager.h

@@ -0,0 +1,20 @@
+#pragma once
+#include <iostream>
+#include "worker.h"
+
+class Manager : public Worker
+{
+public:
+	
+	//构造函数
+	Manager(int id, std::string name, int dept_id);
+
+
+	//显示个人信息
+	virtual void showInfo();
+
+	//获取岗位名称
+	virtual std::string getDeptName();
+
+
+};

+ 45 - 34
职工管理系统.cpp

@@ -2,60 +2,71 @@
 #include "workerManger.h"
 #include "worker.h"
 #include "employee.h"
+#include "manager.h";
+#include "boss.h"
 
 int main()
 {
 
-	//职工类代码测试
-	Worker* worker = NULL;
-	worker = new Employee(1, "张三", 1);
-	worker->showInfo();
+	//多态代码测试
+	//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;
 
 	//实例化一个管理者对象
 	WorkerManger wm;
 
 	int choice = 0;     //用来存储用户的选项
 
-	//while (true)
-	//{
-	//	//调用展示菜单成员函数
-	//	wm.show_Menu();
+	while (true)
+	{
+		//调用展示菜单成员函数
+		wm.show_Menu();
 
-	//	std::cout << "请输入您的选择:" << std::endl;
-	//	std::cin >> choice;         //接受用户的选项
+		std::cout << "请输入您的选择:" << std::endl;
+		std::cin >> choice;         //接受用户的选项
 
-	//	switch (choice)
-	//	{
-	//	case 0:          //退出系统
-	//		wm.ExitSystem();
-	//		break;
+		switch (choice)
+		{
+		case 0:          //退出系统
+			wm.ExitSystem();
+			break;
 
-	//	case 1:          //增加职工
-	//		break;
+		case 1:          //增加职工
+			break;
 
-	//	case 2:          //显示职工
-	//		break;
+		case 2:          //显示职工
+			break;
 
-	//	case 3:          //删除职工
-	//		break;
+		case 3:          //删除职工
+			break;
 
-	//	case 4:          //修改职工
-	//		break;
+		case 4:          //修改职工
+			break;
 
-	//	case 5:          //查找职工
-	//		break;
+		case 5:          //查找职工
+			break;
 
-	//	case 6:          //排序职工
-	//		break;
+		case 6:          //排序职工
+			break;
 
-	//	case 7:          //清空文档
-	//		break;
+		case 7:          //清空文档
+			break;
 
-	//	default:
-	//		system("cls");  //清屏
-	//		break;
-	//	}
-	//}
+		default:
+			system("cls");  //清屏
+			break;
+		}
+	}
 
 
 

+ 4 - 0
职工管理系统.vcxproj

@@ -140,12 +140,16 @@
   </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="1、WorkerMangerRequire.cpp" />
+    <ClCompile Include="boss.cpp" />
     <ClCompile Include="employee.cpp" />
+    <ClCompile Include="manager.cpp" />
     <ClCompile Include="workerManger.cpp" />
     <ClCompile Include="职工管理系统.cpp" />
   </ItemGroup>
   <ItemGroup>
+    <ClInclude Include="boss.h" />
     <ClInclude Include="employee.h" />
+    <ClInclude Include="manager.h" />
     <ClInclude Include="worker.h" />
     <ClInclude Include="workerManger.h" />
   </ItemGroup>

+ 12 - 0
职工管理系统.vcxproj.filters

@@ -27,6 +27,12 @@
     <ClCompile Include="employee.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
+    <ClCompile Include="manager.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
+    <ClCompile Include="boss.cpp">
+      <Filter>源文件</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="workerManger.h">
@@ -38,5 +44,11 @@
     <ClInclude Include="employee.h">
       <Filter>头文件</Filter>
     </ClInclude>
+    <ClInclude Include="manager.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
+    <ClInclude Include="boss.h">
+      <Filter>头文件</Filter>
+    </ClInclude>
   </ItemGroup>
 </Project>