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,...

Difference between procedure and object oriented programming in c++

Hello friends, in this post today, we will learn about what is the Difference between procedure and object oriented programming in c++ . so let's start.. .. Object Oriented Programming is programming paradigm that represents concepts as objects that has data fields and associated procedures known as methods. Procedure Oriented Programming (POP)  1. Emphasis is on doing things not on data, means it is function driven. 2. Main focus is on the function and procedures that operate on data. 3. Top Down approach in program design. 4. Large programs are divided programs known as functions into smaller. 5. Most of the functions share global data. 6. Data moves openly in the system from one function to another function. 7. Adding of data and function is difficult. 8. We cannot declare namespace directly.  9. Concepts like inheritance, polymorphism, data encapsulation, abstraction, access specifiers are not      available.  10. Examples: C, Fortran, Pascal, etc… proc...