【发布时间】:2013-07-07 13:04:27
【问题描述】:
我有几个函数想在许多不同的类中使用。我有几个类是从一个基类派生的,所以试图让它基类保存函数,然后子类可以调用它们。这似乎会导致链接错误,因此根据这个问题 (Advantages of classes with only static methods in C++) 的建议,我决定给命名空间一个摇摆,但每个头文件/文件包含的唯一文件是 resource.h,我不想要为我的函数放置一个命名空间,因为它似乎专门用来搞乱。
我的问题是,如何创建一个只包含命名空间或我想使用的函数的类,以便我可以只包含这个类并根据需要使用函数?
提前感谢您的帮助,我在互联网上找到的答案只关注一个文件,而不是我希望解决的多个文件:)
【问题讨论】:
-
对不起,为什么你不能使用命名空间?如果您只能使用具有静态方法的类,则可以使用命名空间。
-
我的理解是命名空间只能被以某种方式连接的类“看到”。如果我错了,请纠正我,但如果是这种情况,那么我的主类将无法在我的播放器类中看到命名空间,例如:)
-
这种理解听起来是错误的。例如,我可以创建自己的容器类,并将其与
std命名空间中的标准库算法一起使用。 -
所以,到目前为止,我有 Main、Entity 和 Player,Player 有 Entity 作为基础,而 Main 中只会有 Player 的对象。我可以在实体中创建一个命名空间(我计划制作更多实体)并在 Main 中使用它吗? :) 顺便说一句,谢谢你的帮助!
-
你不能在类中创建命名空间。您可以将类、函数和对象放在命名空间内。
标签: c++ namespaces