Read this short article by B. Stroustrup
Why C++ isn't just an object-oriented programming language. What "abstraction" means in OOP and C++ in particular, Stroustrup knows better than others. There, in chapter 5 he described all fundamental C++ concepts and how they relate to abstraction. In short, encapsulation "is
the enforcement of abstraction by mechanisms that prevent access to implementation details of an object or a group of objects except through a well-defined interface".