having difficulty...

Posts 1–11 of 11 · Page 1 of 1
having difficulty...
I am having difficulty with my current lab for my school could someone help me out? you can email me or reply on here... this is the instructions....

Week 6: Interfaces and Abstract Classes - iLab




Print This Page
iLab 6 of 7: Abstract Class and Polymorphism



Connect to the iLab here.




Submit your assignment to the ******* located on the silver tab at the top of this page.

(See Syllabus "Due Dates for Assignments & Exams" for due dates.)



i L A B O V E R V I E W
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


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


Submit your lab to the ******* located on the silver tab at the top of this page. For instructions on how to use the *******, read these Step-by-Step Instructions or watch this ******* Tutorial.

See Syllabus "Due Dates for Assignments & Exams" for due date information.
That is just way too long. Besides, no one is going to do your homework for you. Ask specific questions. It shows that you have at least tried to do it yourself.
Quote Originally Posted by CALauncher View Post
That is just way too long. Besides, no one is going to do your homework for you. Ask specific questions. It shows that you have at least tried to do it yourself.
this.

Do your OWN homework, if you have trouble with something else specific, ask away.
this lab is built on the last weeks lab but i can not figure out how to convert it to an abstract class.

this is the link for the file with all i have from last week. VS2010 is what i use.

---------- Post added at 01:24 PM ---------- Previous post was at 01:24 PM ----------

Quote Originally Posted by rsteph1988 View Post
this lab is built on the last weeks lab but i can not figure out how to convert it to an abstract class.

this is the link for the file with all i have from last week. VS2010 is what i use.

---------- Post added at 01:24 PM ---------- Previous post was at 01:24 PM ----------

Deleted the link, upload to mpgh.
Quote Originally Posted by rsteph1988 View Post
this lab is built on the last weeks lab but i can not figure out how to convert it to an abstract class.

this is the link for the file with all i have from last week. VS2010 is what i use.

---------- Post added at 01:24 PM ---------- Previous post was at 01:24 PM ----------

Abstract classes are nothing difficult. I'm sure they've given you some material that explains them. If not, or if the material is difficult to understand, you can always google it.

Anyway, quick and incomplete explanation (hopefully not inaccurate, though):
Abstract classes are classes that have member function that aren't implemented. You can't make an object out of an abstract class, you have to inherit it first and implement the missing functions. Example
Code:
class AbstractClass {

    public:
       virtual void doSomething() = 0;
       virtual void doSomethingElse() = 0;
};
Now you would have to inherit that class and implement those functions to actually use the class.

I hope I got the syntax right, I didn't check it anywhere.
CALauncher's last post is correct.

Based on that class of his you could now do:
Code:
class MyRetardedClass : AbstractClass
{
};
MyRetardeClass would then have to implement the two functions.
i for some stupid freaking reason cannot seem to get it to work.....
i have tried what you all said and i cannot get it to work.........



im starting to get real worried my assignment is due tomorrow.....
I have tried to convert it.... rrrrrrrrrrrrrrr this lab is killing me................ i cannot get it to work.......... every time i try to create the abstract class it cause who knows how many errors. it stops compiling and says something about over 100 errors...

---------- Post added at 11:26 AM ---------- Previous post was at 10:44 AM ----------

NVM I DID IT!!!!!!! WOOT WOOT!!!!!!! at least i believe i did. it compiled and ran....
Posts 1–11 of 11 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us