enum关键字指定了一个枚举类型。枚举类型是一种用户定义的类型,由一套叫做计数器(enumerator)的赋之以名称的常量组成。缺省情况下,第一个计数器有一个为0的值,每个后续的计数器都比前一个的值更大(除非你显示地为特定计数器指定一个值)。
定义语法:
enum enumName { enumMember , ... };
enumMember :
enumMembersName
或
enumMembersName = integerValue
实例
enum CharacterType
{
HUMAIN, // 0MONSTER, // 1GHOST, // 2BIRD // 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 1Tue, // 2Wed, // 3Thu, // etcFri,Sat, Sun };enum weekend {Sat, // error, Sat redefinitionSun // error, Sun redefinition };