简单的雇员管理系统

实验四继实验四继承与派生

实验名称:继承与派生

一、实验目的和任务

1.理解继承的含义;

2.学习从现有类派生出新类的方式;

3.了解在派生类中如何使用基类的成员。

二、、实验内容和步骤

1.新建一个雇员类,它的数据成员有雇员代号,年龄,工资,性别,姓名,输入雇员资料方法,打印雇员资料方法。

2.以此雇员类为基类,从中派生出教师类,其中要求在教师类中加入一个计算教师工资的方法,教师工资=基本工资(1000)+课时(月工作量)×30

3.以此雇员类为基类,从中派生出实验员类,其中要求在实验员类中加入一个计算实验员工资的方法,实验员工资=基本工资(800)+实验室补助(150+值班课时(月工作量)×5

4.以此雇员类为基类,从中派生出行政人员类,其中要求在行政人员类中加入一个计算行政人员工资的方法,行政人员工资=基本工资(2000)+行政补贴(200)。

5.编写一个完整的程序,要求用户从键盘输入雇员的信息,然后在屏幕显示这些信息。

【任务分解】


【adminstrator.h】

#ifndef EMPLOYEE #define EMPLOYEE #include"employee.h" #endif using namespace std; class Adminstrator : public Employee { private: int dutytime,AdSalary; public: Adminstrator(){} Adminstrator(string na,char se,int ag,int da) :Employee(na,se,ag,da) {} void showData() { Employee::showEmployee(); //调用基类的成员函数 cout<<"应发工资:"<<AdSalary<<endl; } void inputData() {Employee::inputEmployee(); //调用基类的成员函数 } void calPay() {AdSalary=2200;} };
【employee.h】

#include<iostream> #include<string> using namespace std; class Employee { protected: //雇员代号,姓名,性别,年龄,工资,输入雇员资料方法,打印雇员资料方法 int age,salary,date; char sex; string name; public: Employee() {} Employee(string na,char se,int ag,int da) {name=na;sex=se;age=ag;date=da;} void inputEmployee() // 用户从键盘输入资料 { cout<<"请输入雇员姓名:"<<endl; cin>>name; cout<<"请输入雇员性别:(m or f)"<<endl; cin>>sex; cout<<"请输入雇员年龄:"<<endl; cin>>age; cout<<"请输入受聘日期:"<<endl; cin>>date; } void showEmployee() //显示雇员姓名和受聘日期 { cout<<"雇员姓名:"<<name<<endl <<"雇员性别:"; if (sex=='f') cout<<"女"<<endl; else if(sex=='m') cout<<"男"<<endl; else cout<<"性别设置错误!"<<endl; cout<<"雇员年龄:"<<age<<endl <<"受聘日期:"<<date<<endl; } };
【experimenter.h】

#ifndef EMPLOYEE #define EMPLOYEE #include"employee.h" #endif using namespace std; class Experimenter : public Employee { private: int dutytime,ExSalary; public: Experimenter(){} Experimenter(string na,char se,int ag,int da,int the_dutytime) :Employee(na,se,ag,da) { dutytime=the_dutytime; } int get_dutytime() { return dutytime; } void showData() { Employee::showEmployee(); //调用基类的成员函数 cout<<"值班课时:"<<dutytime<<endl; cout<<"应发工资:"<<ExSalary<<endl; } void inputData() {Employee::inputEmployee(); //调用基类的成员函数 cout<<"请输入实验员值班课时(月工作量):"<<endl; cin>>dutytime; } void calPay() {ExSalary=800+150+dutytime*5;} };
【teacher.h】

#ifndef EMPLOYEE #define EMPLOYEE #include"employee.h" #endif using namespace std; class Teacher : public Employee { private: int classtime,TeSalary; public: Teacher(){} Teacher(string na,char se,int ag,int da,int the_classtime) :Employee(na,se,ag,da) { classtime=the_classtime; } int get_classtime() { return classtime; } void showData() { Employee::showEmployee(); //调用基类的成员函数 cout<<"教学课时:"<<classtime<<endl; cout<<"教师工资:"<<TeSalary<<endl; } void inputData() {Employee::inputEmployee(); //调用基类的成员函数 cout<<"请输入教师教学课时(月工作量):"<<endl; cin>>classtime; } void calPay() {TeSalary=1000+classtime*30;} };
【main.cpp】

#include"adminstrator.h" #include"experimenter.h" #include"teacher.h" #include<windows.h> using namespace std; void main() { system("Color 2f"); system("Title MG魔蛋雇员管理系统2011 (BetaII)"); cout<<"********************************************"<<endl; cout<<"*************MG魔蛋雇员管理系统*************"<<endl; cout<<"********************************************"<<endl<<endl; int m,n; cout<<"请输入雇员代码:"<<endl; cin>>m; cout<<"请输入雇员类别(1、2、3):"<<endl; cout<<"n: 雇员类别:"<<endl; cout<<"1 教师"<<endl; cout<<"2 实验员"<<endl; cout<<"3 行政管理"<<endl; cin>>n; cout<<endl; if(n==1) {cout<<">>>>>>>>>>>>>>>>>>教师<<<<<<<<<<<<<<<<<<"<<endl<<endl; Teacher m; m.inputData(); m.calPay(); system("cls"); m.showData(); cout<<endl<<endl;} else if (n==2) {cout<<">>>>>>>>>>>>>>>>>实验员<<<<<<<<<<<<<<<<<"<<endl<<endl; Experimenter m; m.inputData(); m.calPay(); m.calPay(); system("cls"); m.showData(); cout<<endl<<endl;} else if (n==3) {cout<<">>>>>>>>>>>>>>>>行政管理<<<<<<<<<<<<<<<<"<<endl<<endl; Adminstrator m; m.inputData(); m.calPay(); m.calPay(); system("cls"); m.showData(); cout<<endl<<endl;} system("pause"); }



相关资源:JAVA雇员管理系统
已标记关键词 清除标记
相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx的基础知识,</span><span>解读Nginx的核心知识、带领学员进行</span>高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页