C++ 中的全局枚举
Posted
技术标签:
【中文标题】C++ 中的全局枚举【英文标题】:Global enum in C++ 【发布时间】:2014-07-17 21:20:52 【问题描述】:好吧,我想将地形枚举定义为
enum terrain MOUNTAIN, GRASS;
什么的。
如何使这个枚举成为项目中所有类中定义的东西?
【问题讨论】:
把它放在你包含的头文件中。 假设我希望在多个类中定义枚举,我是否必须为每个类重新定义它? 对于 C++11 更喜欢class enum
s 而不是“普通”enum
s
@Alper: enum class
会更好。
【参考方案1】:
将您的enum
声明放在头文件中:
地形.h
#ifndef TERRAIN_H
#define TERRAIN_H
enum terrain MOUNTAIN, GRASS;
#endif
(#ifndef
/#define
对是 include 保护,您可以在其他地方阅读这些内容。)
source.cpp
#include <stdio.h>
#include "terrain.h"
// your code here
在您需要的每个源文件中包含terrain.h
文件。如果需要,您还可以包含另一个头文件中的头。
【讨论】:
"You can also include a header from another header file if you need to."
OP,请非常谨慎地接受这个建议。强调“如果您需要”。避免在不必要时在标题中包含标题。以上是关于C++ 中的全局枚举的主要内容,如果未能解决你的问题,请参考以下文章