Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Homework 4 The objective of this homework is to give you experience using inheritance with C++. You will use the provided employee base class and

Homework 4 The objective of this homework is to give you experience using inheritance with C++. You will use the provided employee base class and implement two derived classes, salaried employee and hourly employee. This assignment will be used for a follow-on assignment. For this assignment, you will use the base class Employee, which is implemented with the files Employee.h and Employee.cpp. A test file, test.cpp, is also provided for your use, as you choose to use it. Each employee object has a user id; a first and last name; a middle initial; and a department code (integer). Your implementation must now add two derived classes. The first one will be for a salaried employee, which will require a monthly salary variable. You will need member functions including a constructor, set and get salary functions, a salary calculation function, and a print function. For versatility, you might include a variable that specifies what fraction of time the person worked and use the fraction in the salary calculation. Hint: set the fraction default to one. For consistency, name your salaried employee class as SalariedEmployee Your second class should represent an hourly worker. In this case you will need to store the hours worked and the hourly rate. You should also include provisions for overtime hours, which will be paid at 1.5 times the regular hourly rate. Hint: set the default overtime hours to 0. You will need similar functions as the salaried employee to set and get variables, as well as to calculate salary. Name your hourly employee class as HourlyEmployee. Generate a test file that includes at least two of each type of worker to test the classes for proper operation. I recommend a full-time and half-time salaried worker and two hourly worker test cases, one of which earns overtime. Execute your test program and copy the outputs to a text file to demonstrate proper execution. What to submit: Please submit a copy of your source code files and a text file(s) that includes execution output that demonstrates proper operation.

Use these files

I am using NetBeans

EMPLOYEE.CPP FILE:

/* employee.cpp*/

#include #include

#include

#include "Employee.h"

using namespace std;

// constructor

Employee::Employee(long id, const string &last, const string &first, const string &initial, int dept) { myIdNum = id; myLastName = last; myFirstName = first; myMiddleInitial = initial; myDeptCode = dept; }

// Accessor function defintions

void Employee::setIdNum (const long id) { myIdNum = id; }

long Employee:: getIdNum () const // get id number { return myIdNum; }

void Employee:: setLastName (const string &last) // set last name { myLastName = last; }

string Employee:: getLastName () const // return last name { return myLastName;

EMPLOYEE.H HEADER FILE:

/* employee.h */

#ifndef EMPLOYEE #define EMPLOYEE

#include

using namespace std;

class Employee { public: Employee(long = 0, const string & ="" , const string & ="", const string & = "", int =0); // constructor void setIdNum (const long ); // set id number long getIdNum () const; // get id number void setLastName (const string &); // set last name string getLastName () const; // return last name void setFirstName (const string &); // set first name string getFirstName () const; // return first name void setMiddleInitial (const string &); // set middle initial string getMiddleInitial () const; // return set middle initial void setDeptCode(const int); // set department code int getDeptCode () const; // get department code void printEmployee (); // print Employee information private: long myIdNum; //Employee id number string myLastName; //Employee last name string myFirstName; //Employee first name string myMiddleInitial; //Employee middle intial int myDeptCode; //Department code };

#endif

TEST.CPP FILE:

/* File: test.cpp */ // File to test the basic employee class

#include #include #include "Employee.h"

using namespace std;

int main() { Employee e1 (001, "Jones", "Booker", "T", 22), e2 (002, "Hendrix", "Jimi", "NMI ", 14), e3 (003, "Morrison", "Jim", "D", 03); e1.printEmployee(); e2.printEmployee();

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Datacasting How To Stream Databases Over The Internet

Authors: Jessica Keyes

1st Edition

007034678X, 978-0070346789

More Books

Students also viewed these Databases questions

Question

Knowledge of process documentation (process flow charting)

Answered: 1 week ago