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