-
Notifications
You must be signed in to change notification settings - Fork 1
/
employee.hpp
executable file
·38 lines (31 loc) · 1.08 KB
/
employee.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef EMPLOYEE_HPP
#define EMPLOYEE_HPP
#include "personalInfo.hpp"
#include "generalWorkInfo.hpp"
#include "weeklyWorkInfo.hpp"
#include <string>
class Employee {
private:
PersonalInfo personalInfo; // name, birthday, SIN
GeneralWorkInfo generalInfo; // position, hourly pay rate
WeeklyWorkInfo weeklyInfo;
static int numOfEmployee;
public:
virtual const WeeklyWorkInfo *getWeeklyWorkInfo() const;
protected:
virtual const PersonalInfo *getPersonalInfo() const;
virtual const GeneralWorkInfo *getGeneralInfo() const;
virtual WeeklyWorkInfo *getWeeklyInfo();
public:
static const double maximumWage;
Employee( std::string position, std::string firstName, std::string lastName, std::string SIN, std::string birthMonth,
int birthDay, int birthYear, double hourlyPayRate );
virtual bool setNumOfHoursWorked( double );
virtual bool setHourlyPayRate( double );
virtual bool reset();
virtual void printPayInfo() const;
virtual void printInfo() const;
virtual void printCheque() const;
virtual double calcWeeklyPay();
};
#endif