Abstraction in C++

Abstraction is displaying the essential details and hiding the ones which are not needed. Hides the unnecessary details to the user. It is a design strategy where the implementation and interface are kept independent with respect to each other. When the implementation is changed the user will not be impacted much as the interface will remain intact. 

For example: 
While driving a car, we need to know how to use it but do not need to know the internal mechanism of the car. The same with operating a TV. We need to know how to use it but no need to understand the details of the working of a TV.