C++ 枚舉類型創(chuàng)建符號常量。
例如,考慮以下語句:
enum my_paint {red, orange, yellow, green, blue, violet, indigo, ultraviolet};
上面的代碼使my_paint成為新類型的名稱; my_paint被稱為枚舉,很像一個結(jié)構(gòu)變量稱為結(jié)構(gòu)。
它建立紅色,橙色,黃色等,作為整數(shù)值0?7的符號常量。
這些常量稱為枚舉器。
默認情況下,枚舉器為第一個枚舉器分配整數(shù)值,從0開始,第二個枚舉器為1,等等。
您可以通過顯式分配整數(shù)值來覆蓋默認值。
您可以使用枚舉名稱來聲明枚舉類型的變量:
my_paint band; // band a variable of type my_paint
沒有類型轉(zhuǎn)換的枚舉變量的有效值是用于定義類型的枚舉值。
band = blue; // valid, blue is an enumerator
因此,my_paint變量僅限于八個可能的值。
您可以為枚舉賦值一個int值,前提是該值有效,并且使用了一個顯式類型轉(zhuǎn)換:
band = my_paint(3); // typecast 3 to type my_paint
您可以使用賦值運算符顯式設(shè)置枚舉器值:
enum bits{one = 1, two = 2, four = 4, eight = 8};
賦值的值必須是整數(shù)。您還可以明確定義一些枚舉器:
enum bigstep{first, second = 100, third};
在這種情況下,首先默認為0。隨后未初始化的枚舉器比其前身大一個。
所以,第三個將具有值101。
最后,您可以創(chuàng)建多個具有相同值的枚舉器:
enum {zero, null = 0, one, numero_uno = 1};
這里,零和零都是0,而one和numero_uno都是1。
更多建議: