Правильный способ определения методов пространства имен C ++ в файле .cpp

Вероятно, дубликат, но его нелегко найти ...

При таком заголовке, как:

namespace ns1
{
 class MyClass
 {
  void method();
 };
}

Я видел method () , определенный несколькими способами в файле .cpp:

Версия 1:

namespace ns1
{
 void MyClass::method()
 {
  ...
 }
}

Версия 2:

using namespace ns1;

void MyClass::method()
{
 ...
}

Версия 3:

void ns1::MyClass::method()
{
 ...
}

Есть ли «право» способ сделать это? Что-то из этого «неправильное» в том, что все они не означают одно и то же?

100
задан Mr. Boy 30 December 2011 в 16:37
поделиться