Polymorphism in C++
Polymorphism
Polymorphism means that ‘one name, multiple forms‘. It can be broadly classified into two categories:
- Compile-time Polymorphism
- Run-time Polymorphism
Compile-time Polymorphism
Compile-time polymorphism means that an object is bound to its function call at the compile time. So, it is also called early binding or static binding or static linking.
Example:
x
#include<iostream.h>
#include<conio.h>
using namespace std;
class A
{
public:
void show()
{
cout<<"Bike is moving";
}
};
class B: public A
{
public:
void show()
{
cout<<"Car is moving";
}
};
void main()
{
B b1;
b1.show(); // calls derived class
b1.A::show(); // calls base class
getch();
}
Output:
Car is moving
Bike is moving
Run-time Polymorphism
Run-time Polymorphism means that an object is bound to its function call at the run time. It defers the linking of a function call to a particular class at run-time. So it is called late binding or Dynamic binding or Dynamic linking.