Question: Lab 12 1. Introduction This weeks lesson is focused on Polymorphism, for which you will create classes using inheritance and virtual functions. To start with,

Lab 12

1. Introduction

This weeks lesson is focused on Polymorphism, for which you will create classes using inheritance

and virtual functions. To start with, what is polymorphism? Polymorphism allows the name of a

function to invoke a response on a base-class-type object and a different one in objects of a derived

class, for which virtual functions are used.

1.1 Exercise 1

This exercise deals with using virtual functions, seeing how they act according to the object on

which it is applied, which you will see in main(). Create a file lab12p1.cpp and enter the following

code:

class Employee

{

protected: double sal; //salary base

public: Employee(double s){ sal=s;}

double Payment(){ return sal;}

void prt(){

cout << "Salary="<< Payment() <

class Manager : public Employee

{ double inc;

public: Manager(double s, double i) : Employee(s)

{ inc = i; } double Payment(){ return sal*inc; }

};

void main()

{ Employee e1(1500); Manager m1(1500, 1.5); cout << Exercise

about inheritance and polymorphism<

e1.prt(

);

m1.prt(

); }

Compile the project and run it, observing what is printed on the console. Next, add the word

virtual before the function Payment() in the base class and run again the program. What happens

this time? Why?

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!