Polymorphism – C++

Polymorphism is the ability to use an operator or function in different ways. Polymorphism gives different meanings or functions to the operators or functions. Poly, referring to many, signifies the many uses of these operators and functions. A single function usage or an operator functioning in many ways can be called polymorphism. Polymorphism refers to codes, operations or objects that behave differently in different contexts.

Before getting into this section, it is recommended that you have a proper understanding of pointers and class inheritance.

There are two types of polymorphism:

  • Static Polymorphism
  • Dynamic Polymorphism
Static Polymorphism: Any entity in which can exist in different physical forms at the same time. As the different types of parameters are specified in declaration of function so calls can be made at compile time. Number, type, and sequence of parameters declared for each form of the function will decide which function will get called. This is also called as Early Binding.
For example: add(int, int);  and add(float , float);
In the above example if we pass 2 integers then the first function will get called and if we pass 2 float values then the second function will get called.
Dynamic Polymorphism: When any entity change its form depending upon circumstances then that kind of polymorphism is called as Dynamic polymorphism.A function is said to exhibit dynamic polymorphism when it exists in more than one form, and calls to its various forms are resolved dynamically when the program is executed. This is also called as Late Binding.

Features of C++

Hello Friends I’m back with this new interesting topic…

The Features of C++

C++ is the multi paradigm, compile, free form , general purpose, statistically typed programming language. This is known as middle level language as it comprises of low level and high level language features.

And there are some other things and advantages of this language over the C. This language of invented by Bjarne Stroustrup was working on the “C with classes” as his Ph.D.  topic. The first commercial implementation of the C++ was released in 1985 and before that the name of language was changed to “C++”. And some new features were added to the language and The main features of the C++ are

  • Classes
  • Inheritance
  • Data abstraction and encapsulation
  • Polymorphism
  • Dynamic Binding
  • Message Passing

Lets elaborate each topic in this post…common friends lets do it…

1)      Classes: By using classes we can create user defined data types. In other words the class is the collection of set of data and code. The class allows us to do some things which are polymorphism, inheritance, abstraction, encapsulation which are our next features. The objects are the instances of classes.

The syntax for class is :

Class <class-name>

{

//Body of class;

};

 

2)      Inheritance: Inheritance allows one data type to acquire properties of other data types. Inheritance from a base class may be declared as public, protected, or private. If the access specifier is omitted, a “class” inherits privately, while a “struct” inherits publicly. This provides the idea of reusability that means we can add the new features to an existing class without modifying it.

 

3)      Data Abstraction and Encapsulation: Encapsulation means hiding of data from the data structures or in other words wrapping up of data in single entity is known as Encapsulation. In this the data is not accessible to outside world and only the  functions are allowed to access it.  When we want to write the class in which we don’t have the knowledge about the arguments used to instantiate it then we can use templates in C++. Abstraction can be defined as the act of representing essential features without including background details.

 

 

4)      Polymorphism: it means that the one interface can be used for many implementation so that object can behave differently for each implementation. The different types of polymorphism are static (Compile time) and dynamic (Run time).

 

5)      Dynamic Binding: It means that the linking of a procedure call to code to be executed in response to the call. A function call associated with a polymorphic reference depends on the dynamic type that reference. And at run-time the code matching the object under current reference will be called.

 

6)      Message Passing: An object oriented program consists of the set of objects that communicate with each other. objects communicate with one another by sending and receiving information much the same way as people pass messages to one another. The concept of message passing makes it easier to direct model or simulate their real world counterparts.

 

And there are some other features too. So next time we will study the each component or feature of the C++.

Till then have happy programming. 🙂