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

时间:2016-07-19 00:08:40

标签: c++ namespaces header-files

民间,

我在一个文件中创建了一个名称空间,但是我如何将定义和声明分开呢? 我可以创建一个.h用于声明吗?一个.cpp用于定义,就像在一个类文件集中一样?如果是,那么,我是否需要在我的新程序中包含命名空间头文件,或者使用namspace mynamespace是否足够?

1 个答案:

答案 0 :(得分:3)

任何体面的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();