📄 employee.cpp
字号:
#include<iostream>
#include<cstring>
#include"employee.h"
using namespace std;
int employee::employeeNo=1000;//员工编号基数为1000
employee::employee()
{
individualEmpNo=employeeNo++;//新输入的员工编号为目前最大编号加1
grade=1;//级别初值为1
accumPay=0.0;//月薪总额初值为0
}
employee::~employee()
{}
void employee::promote(int increment)
{
grade+=increment; //升级,提升的级数由increment指定
}
void employee::SetName(char*names)
{
strcpy(name,names);//设置姓名
}
char*employee::GetName()
{
return name; //提取成员姓名
}
int employee::GetindividualEmpNo()
{
return individualEmpNo;//提取成员编号
}
int employee::Getgrade()
{
return grade;//提取成员级别
}
float employee::GetaccumPay()
{
return accumPay;//提取月薪
}
technician::technician()
{
hourlyRate=100;//每小时酬金100元
}
void technician::SetworkHours(int wh)
{
workHours=wh;//设置工作时间
}
void technician::pay()
{
accumPay=hourlyRate*workHours;//计算月薪,按小时计酬
}
void technician::promote(int)
{
employee::promote(2); //调用基类升级函数,升2级
}
salesman::salesman()
{
CommRate=0.04;//销售提成比例4%
}
void salesman::Setsales(float sl)
{
sales=sl;//设置销售额
}
void salesman::pay()
{
accumPay=sales*CommRate;//月薪=销售提成
}
void salesman::promote(int)
{
employee::promote(0);//调用基类升级函数,升0级
}
manager::manager()
{
monthlyPay=8000;//固定月薪
}
void manager::pay()
{
accumPay=monthlyPay;//月薪总额即固定月薪数
}
void manager::promte(int)
{
employee::promote(3);//调用基类升级函数,升3级
}
salesmanager::salemanager()
{
monthlyPay=5000;
CommRate=0.005;
}
void salesmanager::pay()
{
accumPay=monthlyPay+CommRate*sales;//月薪=固定月薪+销售提成
}
void salesmanager::promote(int)
{
employee::promote(2);//调用基类升级函数,升2级
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -