title: c++ global functions and OOP?
body: <p>In C++ one can have a 'GLOBAL FUNCTION', which means it does not belong to any class.  I wondered if that isn't just a violation of the basic principles of OOP?</p>
  
  <p>What would be the difference with using a global function or function that is static in a class?  I'm thinking the latter is more OOP oriented.  But I may be wrong however...</p>
  
  <p>Does it not make it harder when writing a multithreaded applicaton?</p>