C++ 命名空间声明和定义

C++ Namespace Declaration and Definition

各位,

我在单个文件中创建了一个名称 space,但我该如何将定义和声明分开? 我可以创建一个用于声明的 .h 和一个用于定义的 .cpp 就像在 class 文件集中一样吗?如果是,那么,我需要在我的新程序中包含 namespace 头文件,还是使用 namspace mynamespace 就足够了?

任何体面的 C++ 书籍都应该涵盖名称空间和代码分离。

尝试这样的事情:

myfile.h

#ifndef myfile_H
#define myfile_H

namespace myns
{
    class myclass
    {
    public:
        void doSomething();
    };
}

#endif

myfile.cpp:

#include "myfile.h"

void myns::myclass::doSomething()
{
    //...
}

然后你可以这样使用它:

#include "myfile.h"

myns::myclass c;
c.doSomething();

或:

#include "myfile.h"

using namespace myns;

myclass c;
c.doSomething();