What is C++ OOP

OOP stands for Object Oriented Programming.In c++ objects are independent units, and each has its own identity, just as objects in the real world do.


the following 3D describe any object in object oriented programming: identity, attributes, behavior
an object is self-contained, with its own identity. It is separate from other objects.

it is not tangible and we can not see it or touch but it is defined object - it has its own identity, attributes, and behavior


Class is a blueprint of data and functions or methods. Class does not take any space.


Data abstraction refers to, providing only needed information to the outside world and hiding implementation details i.e., to represent the needed information in program without presenting the details.

C++ classes provides different methods to the outside world without giving internal detail about those methods and data.


Wrapping up(combing) of data and functions into a single unit is known as encapsulation. The data is not accessible to the outside world and only those functions which are wrapping in the class can access it.

Encapsulation is placing the data and the functions that work on that data in the same place.


Inheritance is the process by which objects of one class acquire the properties of objects of another class.

As the name suggests Inheritance is the process of forming a new class from an existing class that is from the existing class called as base class, new class is formed called as derived class.


Use an operator or function in different ways in other words giving different meaning or functions to the operators or functions is called polymorphism.

C++ supports operator overloading and function overloading. Operator overloading is the process of making an operator to exhibit different behaviors in different instances is known as operator overloading.


The concept of overloading is also a branch of polymorphism. When the exiting operator or function is made to operate on new data type, it is called overloaded.

Message Passing:

Objects communicate with one another by sending and receiving information to each other. A message for an object is a request for execution of a procedure and therefore will invoke a function in the receiving object that generates the desired results.