Question
Payroll System Using Inheritance and Polymorphism (oops c++), You need to implement the following harder file and classes. 1. Define the following constants in a
Payroll System Using Inheritance and Polymorphism (oops c++), You need to implement the following harder file and classes.
1. Define the following constants in a header file called Employee.h
- FACULTY_MONTHLY_SALARY = 5000.00
- STAFF_MONTHLY_HOURS_WORKED = 160
2. Implement an abstract class Employee with the following requirements:
- Attributes
- last name (String)
- first name (String)
- ID number (String)
- Default argument constructor and argument constructors.
- Public methods
- put Data that displays the following information:
ID Employee number :_________
Employee name: __________ - pure virtual method monthly Earning that returns the monthly earning.
- put Data that displays the following information:
3. Implement a class called Staff extending from the class Employee with the following requirements:
- Attribute
- Hourly rate
- Default argument and argument contractors
- Public methods
- get and set
- The method monthly Earning returns monthly salary (hourly rate times 160)
- put Data that displays the following information:
ID Employee number :_________
Employee name: __________
Full Time
Monthly Salary: _________
4. Implement a class Education with the following requirements:
- Attributes
- Degree (MS or PhD ) String type
- Major (Engineering, Chemistry, English, etc ... ) String type
- Research (number of researches)
- Default argument and argument constructors.
- Public methods
- get and set
Implement a class Faculty extending from the class Employee with the following requirements:
- Attributes
- Level (use enum statement)
"AS": assistant professor
"AO": associate professor
"FU": professor - Education object
- Level (use enum statement)
- Default argument and argument constructor
- Public methods
- get and set
- The method monthly Earning returns monthly salary based on the faculty's level.
AS - faculty monthly salary
AO - 1.2 times faculty monthly salary
FU - 1.4 times faculty monthly salary - put Data that displays the following information:
ID Employee number :_________
Employee name: __________
XXXXX Professor where XXXXX can be Assistant, Associate or Full
Monthly Salary: _________
Implement a class called Partime extending from the class Staff with the following requirements:
- Attributes
- Hours worked per week
- Default argument and argument constructors
- Public methods
- set and get
- The method monthly Earning returns monthly salary which hourly rate multiplied hours worked per week multiplied four.
- put Data that displays the following information:
ID Employee number :_________
Employee name: __________
Hours works per month: ______
Monthly Salary: _________
Implement a test driver program that creates an array or a vector of class Employees to store the objects Staff, Faculty, and Partime.
Using polymorphism, display the following outputs:
a. Employee information using the method putData.
- All employees
- Staff
- Faculty
- Part-time
b. Total monthly salary for all employees.
Use the following data to create Employee objects in your program.
Staff
- Last name: Allen
First name: Paita
ID: 123
Hourly rate: $50.00 - Last name: Zapata
First Name: Steven
ID: 456
Hourly rate: $35.00 - Last name: Rios
First name: Enrique
ID: 789
Hourly rate: $40.00
Faculty
- Last name: Johnson
First name: Anne
ID: 243
Level: Full
Degree: Ph.D
Major: Engineering
Reseach: 3 - Last name: Bouris
First name: William
ID: 791
Level: Associate
Degree: Ph.D
Major: English
Research: 1 - Last name: Andrade
First name: Christopher
ID: 623
Level: Assistant
Degree: MS
Major: Physical Education
Research: 0
Part-time
- Last name: Guzman
First name: Augusto
ID: 455
Hourly rate: $35.00
Hours worked per week: 30 - Last name: Depirro
First name: Martin
ID: 678
Hourly rate: $30.00
Hours worked per week:15 - Last name: Aldaco
First name: Marque
ID: 945
Hours worked per week: 35 Runtime output
ID Employee number: 123
Employee name: Paita Allen
Full Time
Monthly Salary: 8000ID Employee number: 456
Employee name: Steven Zapata
Full Time
Monthly Salary: 5600ID Employee number: 789
Employee name: Enrique Rios
Full Time
Monthly Salary: 6400ID Employee number: 243
Employee name: Anne Johnson
Full Professor
Monthly Salary: 7000ID Employee number: 791
Employee name: William Bouris
Associate Professor
Monthly Salary: 6000ID Employee number: 623
Employee name: Christopher Andrade
Assistant Professor
Monthly Salary: 5000ID Employee number: 455
Employee name: Augusto Guzman
Hours work per month: 120
Monthly Salary: 4200ID Employee number: 678
Employee name: Martin Depirro
Hours work per month: 60
Monthly Salary: 1800ID Employee number: 945
Employee name: Marque Aldaco
Hours work per month: 140
Monthly Salary: 2800Total monthly salary for all employees: $46800
Step by Step Solution
3.58 Rating (151 Votes )
There are 3 Steps involved in it
Step: 1
include include include include Employeeh using namespace std enum Level AS AO FU class Education private string degree string major int research public Education degree major research 0 Educationstri...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started