美文网首页
多态薪酬计算

多态薪酬计算

作者: 墨狂之逸才 | 来源:发表于2018-06-19 15:58 被阅读13次

Employee.h

#pragma once
#include <iostream>
#include <string>
using namespace std;
//姓名 工号 等级
class Employee
{
public:
    Employee();
    virtual void getSalary()=0;
    virtual void show();
    virtual ~Employee();//虚析构函数
protected:
    float m_salary;
    float m_baseSalary;//基本工资
    float m_attendanceRate;//出勤率
    string m_name;
    int m_no;
    int m_level;
};



Employee.cpp

#include "stdafx.h"
#include "Employee.h"
#include <iostream>
using namespace std;

Employee::Employee()
{
    m_name = "";
    m_no = 0;
    m_level = 0;
    m_attendanceRate = 0;
    m_baseSalary = 2500;
    m_salary = 0.0;//计算得到
}


Employee::~Employee()
{
}

void Employee::show(){
    cout << "姓名:" << m_name << "工号:" << m_no << "等级:" << m_level << "薪资:" << m_salary << endl;
}

OrdinaryEmployee.h

#pragma once
#include "Employee.h"
class OrdinaryEmployee : public Employee
{
public:
    OrdinaryEmployee();
    //不指明基类构造就会调用默认构造
    OrdinaryEmployee(string name,int no,int level,float attendanceRate);
    virtual void getSalary();

    ~OrdinaryEmployee();
};

OrdinaryEmployee.cpp

#include "stdafx.h"
#include "OrdinaryEmployee.h"


OrdinaryEmployee::OrdinaryEmployee()
{
}

void OrdinaryEmployee::getSalary(){
    m_salary = m_attendanceRate * m_baseSalary;
}

OrdinaryEmployee::OrdinaryEmployee(string name, int no, int level, float attendanceRate){
    m_name = name;
    m_no = no;
    m_level = level;
    m_attendanceRate = attendanceRate;
}


OrdinaryEmployee::~OrdinaryEmployee()
{
}

SalesMan.h

#pragma once
#include "Employee.h"
#include "OrdinaryEmployee.h"
class SalesMan : public OrdinaryEmployee
{
public:
    SalesMan();
    SalesMan(string name, int no, int level, float commissionRate, float sales, float attendanceRate);
    ~SalesMan();
    void getSalary();
private:
    float m_commissionRate;//提成比例
    float m_sales;//销售份额

};


SalesMan.cpp

#include "stdafx.h"
#include "SalesMan.h"
#include <iostream>
using namespace std;

SalesMan::SalesMan()
{
}

SalesMan::SalesMan(string name, int no, int level, float commissionRate, float sales, float attendanceRate) :OrdinaryEmployee(name, no, level, attendanceRate){
    m_sales = sales;
    m_commissionRate = commissionRate;
}

void SalesMan::getSalary(){
    m_salary = m_baseSalary * m_attendanceRate / 2 + m_sales * m_commissionRate;
}

SalesMan::~SalesMan()
{
}


OrdinaryEmployee.h

#pragma once
#include "Employee.h"
class OrdinaryEmployee : public Employee
{
public:
    OrdinaryEmployee();
    //不指明基类构造就会调用默认构造
    OrdinaryEmployee(string name,int no,int level,float attendanceRate);
    virtual void getSalary();

    ~OrdinaryEmployee();
};


OrdinaryEmployee.cpp

#include "stdafx.h"
#include "OrdinaryEmployee.h"


OrdinaryEmployee::OrdinaryEmployee()
{
}

void OrdinaryEmployee::getSalary(){
    m_salary = m_attendanceRate * m_baseSalary;
}

OrdinaryEmployee::OrdinaryEmployee(string name, int no, int level, float attendanceRate){
    m_name = name;
    m_no = no;
    m_level = level;
    m_attendanceRate = attendanceRate;
}


OrdinaryEmployee::~OrdinaryEmployee()
{
}

main.cpp

// 多态工资计算-23期-92-子羽.cpp : 定义控制台应用程序的入口点。

//基本工资 = 2500 * 出勤率    
//
//提成 = 提成比例 * 销售份额
//员工   姓名 工号 等级
//普通员工 基本工资
//经理 奖金 + 基本工资(奖金)
//销售   基本工资 / 2 + 提成(提成比例, 销售份额)
//结合继承,多态设计普通员工,经理,销售的薪酬计算

#include "stdafx.h"
#include "Manager.h"
#include "SalesMan.h"
#include "OrdinaryEmployee.h"

int _tmain(int argc, _TCHAR* argv[])
{
    OrdinaryEmployee oe1 = OrdinaryEmployee("jason", 1, 1, 0.98);
    oe1.getSalary();
    oe1.show();

    Manager m1 = Manager("rose", 3, 1, 1 , 3000);
    m1.getSalary();
    m1.show();

    SalesMan am1 = SalesMan("jack", 2, 1, 0.95, 300000, 0.04);
    am1.getSalary();
    am1.show(); 

    return 0;
}


结果:

薪资计算.png

相关文章

  • 多态薪酬计算

    Employee.h Employee.cpp OrdinaryEmployee.h OrdinaryEmploy...

  • 驾校薪酬管理系统分析设计方案

    [TOC] 需求总体分析 业务流程分析 在对核算月份薪酬进行计算之时,各业务部门专员或薪酬专员可提交薪酬核算月份相...

  • Swift 学习日记 Day1

    关于多态和OOP 多态 (Polymorphism): 指计算机程序执行时,相同的讯息可能会送给多个不同的类别之物...

  • 职场江湖,也要好聚好散方能真正相忘

    听到一个事: 一个主要工作是行政但负责薪酬计算的人,将当月薪酬、半年度奖金计算完毕后在周二正常提交给财务。因对公司...

  • 黑马C++视频笔记《多态》

    抽象类中的虚函数指向子类中实现的函数的方式有两种:引用方式和指针方式。 多态案例1-计算器类 多态案例2-组装计算机类

  • 计算上市公司员工薪酬总额的方法

    薪酬福利计算 A股:资产负债表(应付职工薪酬期末余额-应付职工薪酬期初余额)+现金流量表 支付给职工以及为职工支付...

  • 6月4日二级人力资源面试题

    还记得的题目我罗列下来 案例分析是关于薪酬体系的问题,如何留住人才? 拓展问题,薪酬调查的方法,综合工时制计算周期...

  • 招聘损失的成本计算

    如何计算错误招聘或者晋升的员工成本? 1、招聘总成本 2、薪酬(员工在职期间全部薪酬总和) 3、保留人才的费用(员...

  • 各类岗位薪酬

    带班教师的薪酬收入。 这个系统文件在七个注之后:如果按照上述薪酬计算公式带班教师收入低于实习老师工资3000元每月...

  • 接口

    类型断言 面向对象计算器实现 1、方法2、接口 3、多态实现 4、工厂设计模式

网友评论

      本文标题:多态薪酬计算

      本文链接:https://www.haomeiwen.com/subject/sknaeftx.html