1. It provides data security by using private keyword with data.
  2. It provides constructor and destructor to allocate and de-allocate of memory for object respectively.
  3. It provides reusability concept in which one class uses the properties of another class.
  4. It provides facility to use more than one functions with same name but with different signature.
  5. The data will be stored into object so after termination of function our data will be still available inside object unlike C.
  6. Object can communicate each other through function.