enum关键字指定了一个枚举类型。枚举类型是一种用户定义的类型,由一套叫做计数器(enumerator)的赋之以名称的常量组成。缺省情况下,第一个计数器有一个为0的值,每个后续的计数器都比前一个的值更大(除非你显示地为特定计数器指定一个值)。
定义语法:
enum enumName { enumMember , ... };
enumMember :
enumMembersName
或
enumMembersName = integerValue
实例
enum CharacterType
{
HUMAIN, // 0 MONSTER, // 1 GHOST, // 2 BIRD // 3 }; enum DisplacementMode { WALK, FLY, TELEPORT };
然后你可以在你的函数中使用所定义的常量。
void ManageCharacterMove(Entity3D charac, CharacterType type, DisplacementMode disp)
{
switch (type)
{
case HUMAIN :
if (disp == WALK)
{
// ... } else if (disp == FLY) { // ... } else { // ... } break; case MONSTER : // ... break; // ... } }
计数器不需要具有唯一的值。每个计数器的名称都以常量方法对待,且在enum被定义的变量范围内唯一。
enum week
{
Mon = 1, // forces start at value 1 Tue, // 2 Wed, // 3 Thu, // etc Fri, Sat, Sun }; enum weekend { Sat, // error, Sat redefinition Sun // error, Sun redefinition };