I am writing a C++ header in which I define a
class A {
// ...
};
that I would like to hide from the outside world (because it may chang
The right way to go about it in C++ is PIMPL idiom. Alternative solution is to put the class you want to hide into a nested namespace, which is usually called detail
. But that will not make it totally private as users will still be exposed to its dependencies, and will be able to use it directly.