What is polymorphism in C++
Polymorphism in C++ is a concept by which we can perform a single action in different ways. Polymorphism is derived in two from Greek word “poly” and “morphism”.
"Poly" means many and "morphism" means (forms) property which help us to assign more than one property.
# Types of polymorphism :
There are two types of Polymorphism in C++ :
Function overloading(Compile-time polymorphism).
Function overriding(Run-time polymorphism).
1.) Function Overloading : If a class has multiple functions having same name but different in parameters, It is known as function overloading.
If we have to perform only one operation, having same name of the functions increases the readability of the program.
It is also known as static or early binding.
Let’t see an example of Function Overloading :
➤ Example : function overloading;
#include <iostream>
using namespace std;
class Add {
public:
int sum(int num1, int num2){
return num1+num2;
}
int sum(int num1, int num2, int num3){
return num1+num2+num3;
}
};
int main() {
Add obj;
cout<<"Output: "<<obj.sum(10, 20)<<endl; //This will call the first function
cout<<"Output: "<<obj.sum(11, 22, 33); //This will call the second function
return 0;
}
Output :
30
60
2.) Function overriding : Function overriding is one of the ways in which C++ supports Runtime Polymorphism. If same functions defined in parents and child class with same signature know as function overriding.
It is also known as dynamic binding or late binding.
Let’t see an example of Function overriding :
➤ Example : function overriding;
#include <iostream>
using namespace std;
class Coderwebsite
{
public:
void display() {
cout<<"Welcome to my website!"<<endl;
}
};
class Coder: public Coderwebsite
{
public:
void display() {
cout<<"I am coder!";
}
};
int main() {
Coderwebsite obj; //Parent class object
obj.display();
Coder obj2; //Child class object
obj2.display();
return 0;
}
Output :
Welcome to my website!
I am coder!
Comments