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