Arbeiten mit Namespace

So funktionieren C++ Namespaces



C++ Namensräume


So gehen Sie mit C++ Namensräumen um

#include <iostream>
namespace schumacher
{
  void michael ();
}
 
namespace jackson
{
  void michael ();
}
 
namespace alle
{
  using namespace schumacher;
  using namespace jackson;
}
 
namespace schumi = schumacher;
int main ()
{
  //Fehler: unbekannt
  //michael(); 
 
  // Fehler: mehrdeutig
  //alle::michael();
 
 
  // eindeutig
  schumacher::michael();
 
  // eindeutig
  jackson::michael();
 
  // schumacher::michael
  schumi::michael();
 
  // deklariert globalen Alias (weil schumi global)
  using namespace schumi;
 
  // schumacher::michael
  michael();
 
  // deklariert lokalen Alias fuer michael
  using jackson::michael;
 
  // jackson::michael lokaler Alias verdeckt globalen Alias
  michael();
}
 
void schumacher::michael ()
{
  std::cout << "Michael Schumachern";
}
 
void jackson::michael ()
{
  std::cout << "Michael Jacksonn";
}