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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
#ifndef lab10_h
#define lab10_h
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
class Employee
{
protected:
string name;
string eid;
double salary;
public:
//Default Constructor
Employee()
{
name = nullptr;
eid = nullptr;
salary = NULL;
}
//Parameteized Constructor
Employee(string n, string nid, double sal)
{
name = n;
eid = nid;
salary = sal;
}
//Set method for name
void setName(string n)
{ name = n;}
//Set method for employee id
void setEid(string nid)
{ eid = nid;}
//Set method for salary
void setSalary(double s)
{ salary = s;}
//Get method for name
string getName() const
{return name;}
//Get method for employee id
string getId() const
{ return eid;}
//Get method for salary
double getSalary() const
{ return salary;}
};
class ProductionWorker : public Employee
{
private:
int shift;
int hours;
double hourlyPayRate;
public:
//Default Constructor
ProductionWorker() : Employee ()
{
shift = NULL;
hours = NULL;
hourlyPayRate = NULL;
}
//Parameteized Constructor
ProductionWorker(string n, string nid, double sal, int s, int h, double hpr) : Employee (n, nid, sal)
{
salary = h * hpr;
shift = s;
hours = h;
hourlyPayRate = hpr;
}
//Set method for salary
void setSalary(int h, double hpr)
{ salary = h * hpr;}
//Set method for shift
void setShift(int s)
{ shift = s;}
//Set method for hours
void setHours(int h)
{ hours = h;}
//Set method for hourly pay rate
void setHourlyPayRate(int hpr)
{ hourlyPayRate = hpr;}
//Get method for shift
string getShift() const
{
if( shift == 1)
return "Day";
if(shift == 2)
return "Night";
else
return "Assign shift time";
}
//Get method for hours
int getHours() const
{return hours;}
//Get method for hourly pay rate
int getHourlyPayRate() const
{return hourlyPayRate;}
};
class ShiftSupervisor : public Employee
{
private:
double bonus;
public:
//Default Constructor
ShiftSupervisor()
{
bonus = NULL;
}
//Parameteized Constructor
ShiftSupervisor(string n, string nid, double sal, double b) : Employee (n, nid, sal)
{
bonus = b;
salary = b + sal;
}
//set method for salary
void setSalary(double b, double sal)
{
salary = b + sal;
}
//set method for bonus
void setBonus(double b)
{bonus = b;}
//get method for bonus
double getBonus() const
{return bonus;}
};
#endif /* lab10_h */
|