My view is that if the code is written for one program, and is used just in one script, then you can make life easy by leaving it in the global namespace. However, if it's possible down the track that your classes and functions comprise a library (i.e.: imported by multiple programs, or released to the world as useful functions), then having them in their own namespaces is a must.
It looks like you are using multiple libraries (App.cpp and Server.cpp) already, so what I would do first is introduce a namespace for your whole project (i.e.: put everything under
namespace nurrl or something more descriptive). Then if you really need you can put App and Server into their own namespaces, accessing functions like
PS: with your above code, I'd have
void startServer() actually be part of an
App class in the
App namespace, judging by the naming you've chosen