When we share the public interface of our library or API, we usually share the header files. In this case together, with the public members od our class there is also visibility of the private. The pimpl idiom which comes from the “pointer to implementation” is a programming technique that let us hide the internal