Question: please please help me fix my code please use c++ and show your output question Base class Employee The Employee class below is the parent

please please help me fix my code

please use c++ and show your output

question

Base class Employee

The Employee class below is the parent class. You can add an arg-constructor to the Employee class if needed but do not change the provided code. An employee's net pay is calculated biweekly according to the additional attributes. You will define two child classes, HourlyEmployee and SalariedEmployee.

class Employee {

private:

string code; "S" for Salaried Employee, "H" for Hourly Employee

string ssn;

string first;

string last;

string department;

string role;

double netPay;

static int count;

public:

Employee(); //constructor

~Employee();

string getCode() const;

void setCode(string);

string getSSN() const;

void setSSN(string);

string getFirst()const;

void setFirst(string);

string getLast() const;

void setLast(string);

string getDept() const;

void setDept(string);

string getRole() const;

void setRole(string);

double getNetPay() const;

void setNetPay(double);

void display();

static int getEmpCount();

};

#endif

Child Classes : HourlyEmployee and SalariedEmployee

The HourlyEmployee class has two additional attributes, payRate as double and workHours as int, whereas the SalariedEmployee class has only one additional attribute, biweeklySalary. Since the net pay of an employee is calculated biweekly, the net pay of a salaried employee will be the same as biweeklySalary.

Testing the classes

By utilizing the provided employee.txt, build an array of hourly employees in the heap and an array of salaried employees in the stack. Both arrays have the size of 3. Your program is required to display the following.

R1: The sequence of constructor calls

R2: The information of all the employees that includes net pays but not pay rate nor work hours.

R3: Changes in employee count

R4: The sequence of destructor call

here is my code

Employee.h

#ifndef EMPLOYEE_H #define EMPLOYEE_H #include #include using namespace std; class Employee { private: string code; //"S" for Salaried Employee, "H" for Hourly Employee string ssn; string first; string last; string department; string role; double netPay; static int count; public: Employee(); //constructor Employee(string code,string ssn,string fname,string lname,string dep,string role); ~Employee(); string getCode() const; void setCode(string); string getSSN() const; void setSSN(string); string getFirst()const; void setFirst(string); string getLast() const; void setLast(string); string getDept() const; void setDept(string); string getRole() const; void setRole(string); double getNetPay() const; void setNetPay(double); void display(); static int getEmpCount(); }; #endif

####################################################################

Employee.cpp

#pragma once #include "Employee.h"

int Employee::count = 0; //Default constructor Employee::Employee(){ Employee::count += 1; }

//Arg-constructor Employee::Employee(string code,string ssn,string fname,string lname,string dep,string role){ setCode(code); setSSN(ssn); setFirst(fname); setLast(lname); setDept(dep); setRole(role); Employee::count += 1; }

//Destructor Employee::~Employee(){ if(code == "H") cout << "Houred employee destructed." << endl; else if(code == "S") cout << "Salaried employee destructed." << endl; }

//Getters string Employee::getCode() const{ return this->code; } string Employee::getSSN() const{ return this->ssn; } string Employee::getFirst() const{ return this->first; } string Employee::getLast() const{ return this->last; } string Employee::getDept() const{ return this->department; } string Employee::getRole() const{ return this->role; } double Employee::getNetPay() const{ return this->netPay; } int Employee::getEmpCount(){ return count; }

//Setters void Employee::setCode(string code){ this->code = code; } void Employee::setSSN(string ssn){ this->ssn = ssn; } void Employee::setFirst(string fname){ this->first = fname; } void Employee::setLast(string lname){ this->last = lname; } void Employee::setDept(string dep){ this->department = dep; } void Employee::setRole(string role){ this->role = role; } void Employee::setNetPay(double pay){ this->netPay = pay; }

//Display void Employee::display(){ cout << "Code : " << getCode() << endl; cout << "SSN : " << getSSN() << endl; cout << "Name : " << getFirst() << " " << getLast() << endl; cout << "Department : " << getDept() << endl; cout << "Role : " << getRole() << endl; cout << "Net Pay : " << getNetPay() << endl; }

####################################################################

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!