(1)C++中會使用const或者#define定義整型常量,當整型常量有多個且之間的值的全部或部分有遞加的時候,定義起來稍顯繁瑣,此時用枚舉類型顯得很簡潔:
例如:
//使用const:
const int MON =1;
const int TUE =2;
const int WED =3;
const int THU =4;
const int FRI =5;
const int SAT =6;
const int SUN =7;
//使用#define//定義一個整型變量,為整型變量賦以下值
#define MON 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7
//使用枚舉//定義一個枚舉變量,此變量可能具有多個可能的值,
typedef enum weekDay{
MON=1,
TUE,
WED,
THU,
FRI,
SAT,
SUN
}week_day;
week_day week=SUN;
注意:枚舉類型是一種自定義類型,其形式和定義方法跟struct十分相似:
定義方法常用的有以下幾種:
a)
typedef enum weekDay{
MON=1,
TUE,
WED,
THU,
FRI,
SAT=7,
SUN
}week_day;
week_day myWeek;
myWeek = SAT;
b)
enum weekDay{
MON=1,
TUE,
WED,
THU,
FRI,
SAT=7,
SUN
};
weekDay myWeek=SUN;
c)
2)枚舉經常跟switch連用:
總結:枚舉類型相較於#define的優勢在於,定義常量簡潔易於管理,可以自動賦值且值不相等,類型安全檢測。