C++名称空间和在单独文件中定义类 我想创建一个将包含几个类的命名空间作为“软件包”的一部分。 我必须在命名空间中声明所有类吗? 例如,如果我有一个“ 2dengine.h”,则fefi ...

问题描述 投票:0回答:2

假示例:

twoEngine.h

namespace TwoEngine { class Canvas { // Define all of Canvas here }; class Primitive { // Define all of Primitive here }; }

sance以此为目的,我想拥有画布和原始性是他们自己的.h文件,只是以某种方式指出它们是该名称空间的一部分。 sorry,我仍然对此很新。

是的,您可以将命名空间分为多个块(因此是文件)。只要在

namespace块中声明相同名称,您的类将属于同一名称空间。 // Canvas.h namespace TwoEngine { class Canvas { // Define all of Canvas here }; } // Primitive.h namespace TwoEngine { class Primitive { // Define all of Primitive here }; }


namespaces可能是不合格的。您可以通过将相关课程保留在2 dengine.h中来利用这一点。

其他任何东西,都不要向外界揭示的东西仍然可以放在相同的名称空间中,而可以放在单独的标题文件中(未发货)。

Header H1.H(图书馆界面的一部分与外部世界的接口)

namespace TwoEngine { class Canvas { // Define all of Canvas here }; }

Header H2.H(不是图书馆界面的一部分到外部世界)

c++ file header namespaces
2个回答
65
投票

yes也只使用实现文件中的名称空间指令。
    

但是,如果我在不同的.cpp文件而不是在不同的标头文件中声明命名空间怎么办?所有的AI都说是可能的,但实际上并没有起作用。
    

14
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.