Run Time Polymorphism

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

// Run Time Polymorphism

#include <iostream>
using namespace std;

class Base{
public:
int var1;
void display(){
cout <<"Value of base Class is : " << var1 <<endl;

};
class derived : public Base{

public:
int var2;
void display(){
cout<<"Value of derived variable is:" << var2 << endl;
cout <<"Value of base Class is : " << var1 <<endl;
}
};
int main() {

Base * basepointer; //pointer to base class


Base baseobj; //base class object
derived der_obj; //derived class object
basepointer = & baseobj; // we can point base class object with base class pointer
basepointer= &der_obj; //point derived class object with base class pointer
basepointer->var1=100; //set value of base class variable with pointer
basepointer->display(); //when we call display function it will call base class function

//basepointer->var2=200; // through error: Not allowed

derived * der_pointer; //derived class pointer;


der_pointer = & der_obj; //derived class pointer to derived class object
der_pointer->var2=45; //access derived class variable with derived class object
der_pointer->display(); // now it call derived class display function;

der_pointer->var1=30; // access base class variable with derived class pointer;


der_pointer->display(); //run derived class function

return 0;
}

You might also like