Skip to main content

Polymorphism in c++

Hello friends, in this post today we learn about what is Polymorphism in c++so lets start...

Polymorphism, polymorphism in c++
Polymorphism 



Polymorphism:-

The Polymorphism word comes from 2 greek words: poly and morphsim.


The word "poly" means many and "morphsim" means forms.


So polymorphism means many forms. 

Polymorphism means the ability to take more than one form.

It allows a single name to be used for more than one related purpose.

It means ability of operators and functions to act differently in different situations.


Before the learn types of polymorphism first of all we understand what is binding.

Binding is the linking of function call with the place where function definition is written.

 When binding is done at compile time it is known as early-binding, compile time binding or static binding.

 When binding is done at run time it is known as late-binding, runtime binding or dynamic binding.


Types of polymorphism:-

Polymorphism, types of Polymorphism in c++, function overloading, operator overloading, virtual function
Types of polymorphism 



1)-Compile time polymorphism:

Compile time polymorphism is a such type of polymorphism in which the overloaded member functions are selecting for invoking by matching argument at the time of compilation of the program. The early binding or static binding concept is introduced. static binding means choosing a function call at the time of compilation.

a). Function Overloading:

Function overloading is the practice of declaring the same function with different signatures.

Function overloading refers to creating numbers of functions with the same name which performs different tasks.

Overloading of functions with different return type is not allowed.

b). Operator Overloading:

 Operator overloading refers to overloading of one operator for many different purpose.

For example, the binary + can be used to add two integer numbers, two float numbers, two structures variables, two union variables or two class objects.

2)-Run time polymorphism :

Runtime polymorphism is a such type of polymorphism in which the selection of member function is done while the program is running. The late binding or dynamic binding concept is introduced. Late binding means choosing a function call while the program is running. In late binding the function link with class very late. so it is known as late binding. Late binding is implement using virtual function.

At run-time, the code matching the object under current reference will be called.

a). Virtual Function:

Virtual function is a member function of a class, whose functionality can be over-ridden in its derived classes.

The whole function body can be replaced with a new set of implementation in the derived class. It is declared as virtual in the base class using the virtual keyword.


I hope that whatever information I have given in this post today, you have liked it and you have understood it.so keep learning and wait for the next post that will help you to increase your knowledge with something new information .

Thank you so much for reading. And take care about yourself and your family.


Comments

Popular posts from this blog

Constructor in c++

Hello friends, in this post today, we learn about  what is constructor in c++ and types of constructor . so lets start... Constructor in c++ Constructor:-   A constructor is a “special” member function which initializes the objects of class.  Constructor is used to solve problem of initialization. Properties of constructor:- Constructors are used to construct the object of the class. Constructor name must be same as class name. Constructor is invoked automatically when objects of the class are created. The constructors are always declared in the public section. If declared in the private section then objects are can only be created inside the member functions but serve no purpose. It must be an instance member function , that is, it can never be static. Constructors  do not have any return type not even void so they cannot return any value. Constructor can also be overloaded. Constructors cannot be inherited, but they can be called from the constructors of...

Function with Default arguments in c++

Hello friends, i n this post today, we learn about   Function with Default arguments in c++ .  so lets start... Function with default arguments  Function with default arguments:- In C ++ it is possible for a function not to specify all its arguments. Some of the arguments  may be specified their default values at the time of declaring the function.   Default values are specified when the function is declared. We must add default arguments from right to left. We cannot provide a default value to a particular argument in the middle of an argument list. Default arguments are useful in situations where some arguments always have the same value. For Example, passing marks. In a function with default argument, if one argument is default, all successive arguments  must be default. We cannot provide default values in the middle of the arguments or towards  l eft side. We provide few examples: 1. void fun(int x, int y = 20, int z=35); (valid) 2. void fun(int x,...

Pure virtual function in c++

Hello friends, i n this post today, we learn about what is pure virtual  function in c++ and how to use pure virtual function  in c++ .  so lets start... Pure virtual function in c++ Pure virtual function:- A pure virtual function is a function which has its body set to 0 i.e., the pure virtual function  does not have any body. A pure virtual function means ‘do nothing’ function. A function declared in a way: Syntax:- virtual void display() = 0;  is known as pure virtual function. Here = 0 does not mean that function show is equal  to 0. It simply means that the virtual function show has no body.  The pure virtual function act  as an interface and any class which inherits the class in which pure virtual function is present,  has to provide the implementation for the function show. We can say empty function. A pure virtual function has no definition relative to the base class. Programmers have to redefine pure virtual function in derived clas...