Home | | Object Oriented Programming and Data Structures | What is virtual function? Explain with an example.

Chapter: Object Oriented Programming and Data Structure : Inheritance and Polymorphism

What is virtual function? Explain with an example.

A virtual function is a member function that is declared within a base class and redefined by a derived class.

What is virtual function? Explain with an example.

 

A virtual function is a member function that is declared within a base class and redefined by a derived class. To create virtual function, precede the function’s declaration in the base class with the keyword virtual. When a class containing virtual function is inherited, the derived class redefines the virtual function to suit its own needs.

 

Base class pointer can point to derived class object. In this case, using base class pointer if we call some function which is in both classes, then base class function is invoked. But if we want to invoke derived class function using base class pointer, it can be achieved by defining the function as virtual in base class, this is how virtual functions support runtime polymorphism. Consider following program code:

 

Class A

{

 

int a; public: A()

{

a = 1;

 

}

virtual void show()

{

cout<<a;

}

};

Class B: public A

{

 

int b; public: B()

{

b = 2;

}

virtual void show()

{

cout<<b;

}

};

int main()

{

A *pA;

B oB;

 

pA = &oB; pA->show(); return 0;

}

 

Output is 2 since pA points to object of B and show() is virtual in base class A.

 

Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
Object Oriented Programming and Data Structure : Inheritance and Polymorphism : What is virtual function? Explain with an example. |


Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.