I want to hide the private members of my (C++) library that I am creating. I have something like sub-class1, that is a private member of class1. Class1 obviously contains the header for sub-class1. When I compile the code into a library I want other developers to only see class1, but not bee able to see sub-class1 since it's private. Certainly I do not want other developers to be able to see the members of the private sub-class1 object. What methods are available to achieve this?