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

标签 c++ namespaces header-files

各位,

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

最佳答案

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

尝试这样的事情:

我的文件.h

#ifndef myfile_H
#define myfile_H

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

#endif

我的文件.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();

关于C++ 命名空间声明和定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38447692/

相关文章:

namespaces - 现在不推荐使用 X- 适当的 URN 命名空间?

javascript - 'JavaScript Namespacing' 是什么意思?

c# - UWP vs WPF : System. 全局化 CultureInfo 不同?

c++ - 未定义的标识符 - 缺少哪些头文件? - DX12

c - 当我尝试定义结构的元素时,我不断收到错误消息

c++ - OpenAL 不播放声音

c++ - 静态常量变量的初始化

c++ - 使用 ctime 将带时区的本地时间转换为 UTC

c# - 将 C 定义宏转换为 C#

C++ 类头和实现错误