Week 6: Interfaces and Abstract Classes – iLab iLab 6 of 7: Abstract Class and Polymorphism Homework Help

Week 6: Interfaces and Abstract Classes – iLab
iLab 6 of 7: Abstract Class and Polymorphism

i L A B  O V E R V I E W

Don't use plagiarized sources. Get Your Custom Essay on
Week 6: Interfaces and Abstract Classes – iLab iLab 6 of 7: Abstract Class and Polymorphism Homework Help
Get an essay WRITTEN FOR YOU, Plagiarism free, and by an EXPERT! Just from $10/Page
Order Essay

Scenario and Summary

We have two separate goals this week:
We are going to create an abstract Employee class and two pure virtual functions – calculatePay() and displayEmployee(). The abstract Employee class will prevent a programmer from creating an object based on Employee, however, a pointer can still be created. Objects based on Salaried and Hourly will be allowed. The pure virtual function calculatePay() in Employee will force the child classes to implement calculatePay(). The other pure virtual function displayEmployee() in Employee will force the child classes to implement displayEmployee().
We are going to implement Polymorphism and dynamic binding in this iLab.
Deliverables
Due this week:
Capture the Console output window and paste it into a Word document.
Zip the project folder in the Microsoft Visual Studio.
Put the zip file and screenshots (word document) in the Dropbox.

i L A B  S T E P S

STEP 1: Understand the UML Diagram

Notice in the updated UML diagram that the Employee class is designated as abstract by having the class name Employee italicized. Also, the calculatePay method is italicized, which means that it is a pure virtual function and needs to be implemented in the derived classes. In addition, make displayEmployee() method a pure virtual function as well.

Employee #firstName : string #lastName : string #gender : char #dependents : int #annualSalary : double #benefit : Benefit -static numEmployees : int = 0 +Employee() +Employee(in fname : string, in lname : string, in gen : char, in dep : int, in benefits : Benefit) +static getNumEmployees() : int +CalculatePay() : double +displayEmployee() : void Benefit -healthinsurance : string -lifeinsurance : double -vacation : int +Benefit() +Benefit(in hins : string, in lins : double, in vac : int) +displayBenefits() : void Salaried -MIN_MANAGEMENT_LEVEL : int = 0 -MAX_MANAGEMENT_LEVEL : int = 3 -BONUS_PERCENT : double = 10 -managementLevel : int +Salaried() +Salaried(in fname : string, in lname : string, in gen : char, in dep : int, in sal : double, in ben : Benefit, in manLevel : int) +Salaried(in sal : double, in manLevel : int) +CalculatePay() : double +displayEmployee() : void Hourly -MIN_WAGE : double = 10 -MAX_WAGE : double = 75 -MIN_HOURS : double = 0 -MAX_HOURS: double = 50 -wage : double -hours : double -category : string +Hourly() +Hourly(in wage : double, in hours : double, in category : string) +Hourly(in fname : string, in lname : string, in gen : char, in dep : int, in wage : double, in hours : double, in ben : Benefit, in category : string) +CalculatePay() : double +displayEmployee() : void
STEP 2: Create the Project

Create a new project and name it CIS247C_WK6_Lab_LASTNAME. Copy all the source files from the Week 5 project into the Week 6 project.
Before you move on to the next step, build and execute the Week 6 project.
STEP 3: Modify the Employee Class

Define calculatePay() as a pure virtual function.
Define displayEmployee() as a pure virtual function.
When class Employee contains two pure virtual functions, it becomes an abstract class.
STEP 4: Create Generalized Input Methods

Reuse method getInput() from the previous iLab to prompt the user to enter Employee information.
STEP 5: Modify the Main Method

Create two employee pointers with:

Employee *employeeList1 = new Salaried(10000,3); Employee *employeeList2 = new Hourly(50, 40, “full time”);
The first employee pointer refers to a salaried employee and the second employee pointer refers to a hourly employee.
Prompt the user to enter information for these two pointers and display the calculated result.
For salaried employee, the following information needs to be displayed:
Partial Sample Output:

Screenshot of program output that reads: Employee Information ________________________________________ Name: Nana Liu Gender: F Annual Salary: 60000.00 Weekly Salary: 1500.00 Benefit Information ________________________________________ Health Insurance: PPO Life Insurance: 1.50 Vacation: 21 days Salaried Employee Management level: 3
For hourly employee, the following information needs to be displayed:
Partial Sample Output:

Screenshot of program output that reads: Name: Jackie Chan Gender: M Dependents: 1 Annual Salary: 100000.00 Weekly Salary: 2000.00 Benefit Information ________________________________________ Health Insurance: HMO Life Insurance: 100.00 Vacation: 18 days Hourly Employee Category: full time Wage: 50.00 Hours: 40.00
STEP 6: Compile and Test

When done, compile and run your code.
Then, debug any errors until your code is error-free.
Check your output to ensure that you have the desired output, modify your code as necessary, and rebuild.
Below is a complete sample program output for your reference.

Screenshot of program output that reads: Welcome to your Object Oriented Program–Employee ClassCIS247C, Week 6 LabName: Prof.Nana Liu ************** Employee 1 ************** Please enter your First Name :Nana Please enter your Last Name :Liu Please enter your Gender :Female Please enter your Dependents :2 Please enter your Annual Salary :60000 Please enter your HealthInsurance:PPO Please enter your LifeInsurance:1.5 Please enter your Vacation Days:21 Employee Information ________________________________________ Name: Nana Liu Gender: F Dependents: 2 Annual Salary: 60000.00 Weekly Salary: 1500.00 Benefit Information ________________________________________ Health Insurance: PPO Life Insurance: 1.50 Vacation: 21 days Salaried Employee Management level: 3 ************** Employee 2 ************** Please enter your First Name :Jackie Please enter your Last Name :Chan Please enter your Gender :Male Please enter your Dependents :1 Please enter your HealthInsurance:HMO Please enter your LifeInsurance:100 Please enter your Vacation Days:18 Employee Information ________________________________________ Name: Jackie Chan Gender: M Dependents: 1 Annual Salary: 100000.00 Weekly Salary: 2000.00 Benefit Information ________________________________________ Health Insurance: HMO Life Insurance: 100.00 Vacation: 18 days Category: full time Wage: 50.00 Hours: 40.00 — Number of Employee Object Created — Number of employees: 2 The end of the CIS247C Week6 iLab. Press any key to continue…
STEP 7: Submit Deliverables
CIS247 Week 6 Lab in C++
CIS247A Week 6 Lab in C++
CIS247B Week 6 Lab in C++
CIS247C Week 6 Lab in C++

iqra javaid

Place your order
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.