【发布时间】:2014-03-16 09:08:36
【问题描述】:
我正在尝试制作一个使用多个类(和多个头文件)的 C++ 程序。我在其中一个类中创建了一个名为“move”的枚举类型,但我需要从所有类中访问这种类型。如果我只将枚举声明留在一个头文件中,则其他类无法访问它,编译器会在除该类和 main 之外的所有使用它的地方给出错误。如果我在 main 中声明它,则没有类可以访问它。如果我在每个类头文件中声明它,我会在重新定义它时遇到编译器错误。
我在哪里声明一个枚举类型,以便每个类头文件都可以访问它?
【问题讨论】:
-
绝对没有规则说在 C++ 中每个标题都有一个类(或每个类都有一个标题)。在小型程序中(例如,不到一万行),我建议整个程序只使用一个通用头文件!
-
在带有其他常见声明的标题中。如果它必须在一个类中声明并且所有其他类都依赖于它,请重新审视您的设计,因为它耦合得太紧了。
-
我同意使用一个文件而不是多个小文件更容易,但这是一项任务,他们要求我们使用多个文件。
标签: c++ class enums header enumeration