When Bjarnes Stroustroup designed the C++ class concept, he made the default accessibility “private”, so as to encourage encapsulation and data hiding. That’s as far as he went, immediately violating his own principle. C++ makes it very difficult to provide non-invasive prototypes. That is, if you have a module “foo.cpp” and you want to advertise [...]