C++ C+中的全局枚举+;

C++ C+中的全局枚举+;,c++,enums,C++,Enums,好的,假设我想将地形枚举定义为 enum terrain {MOUNTAIN, GRASS}; 或者别的什么 如何使此枚举成为项目中所有类中定义的内容?将您的enum声明放入头文件: 地形 (如果ndef/#define对是一个include-guard,您可以在其他地方阅读。) source.cpp #包括 #包括“地形.h” //你的代码在这里 在需要的每个源文件中都包含terrain.h文件。如果需要,您还可以包含来自另一个头文件的头文件。将其放入包含的头文件中。如果我希望枚举跨多个类

好的,假设我想将地形枚举定义为

enum terrain {MOUNTAIN, GRASS};
或者别的什么


如何使此枚举成为项目中所有类中定义的内容?

将您的
enum
声明放入头文件:

地形 (如果ndef/
#define
对是一个include-guard,您可以在其他地方阅读。)

source.cpp
#包括
#包括“地形.h”
//你的代码在这里

在需要的每个源文件中都包含
terrain.h
文件。如果需要,您还可以包含来自另一个头文件的头文件。

将其放入包含的头文件中。如果我希望枚举跨多个类定义,我是否必须为每个类重新定义它?与“普通”相比,更喜欢
类枚举
s< C++ >代码>11@Alper:
enum类
会更好。
如果需要,您还可以包含另一个头文件的头文件。
OP,请仔细考虑这个建议。强烈强调“如果需要”。避免在不必要时在标题中包含标题。
#ifndef TERRAIN_H
#define TERRAIN_H

enum terrain {MOUNTAIN, GRASS};

#endif
#include <stdio.h>
#include "terrain.h"

// your code here