title: What is best practice for C++ Public API?
body: <p>What is best practice for C++ Public API?</p>
  
  <p>I am working on a C++ project that has multiple namespaces, each with multiple objects. Some objects have the same names, but are in different namespaces. Currently, each object has its own .cpp file and .h file. I am not sure how to word this... Would it be appropriate to create a second .h file to expose only the public API? Should their be a .h file per namespace or per object or some other scope? What might be a best practice for creating Public APIs for C++ libraries?</p>
  
  <p>Thanks For Any Help,
  Chenz</p>