如何将C ++命名空间分解为多个文件

时间:2013-10-18 07:22:21

标签: c++ design-patterns namespaces

我有一个包含许多函数和变量的大命名空间。 现在我想将它们分成不同的文件以便于维护。

只有一个问题是一个文件可能需要来自其他文件的函数/变量,反之亦然,即需要包含B和B需要包含A ..它不起作用,因为每个文件只能包含一次。

我不确定这是不是这样做的想法?

2 个答案:

答案 0 :(得分:1)

将您的函数 prototypes 放入头文件(.h)。将您的函数实现放入源文件(.cpp)。

通过在B.cpp A.cppB.h同时使用A.cpp中的A.cpp,您可以使用B.cpp中实现的功能A.h中的B.cpp {1}} {1}} {1}}。{/}

<强>更新

安德烈在评论中指出,这被称为“前向宣言”。

答案 1 :(得分:0)

这可能是一个具有挑战性的问题,具体取决于您的代码。 您需要分析所有依赖项,看看是否可以提出一种直观的方法来拆分代码。

已经提到的前瞻性声明可以提供帮助。 它也可以帮助使用接口。可以在Interfaces for instance here on stackoverflow

上找到很多内容