是c++提供的一種建立符號常量的方式,這種方式可以代替const。
#include using namespace std;
int main()
**建立後,fruit成為了新型別的名稱,上述**輸出為 1.即代表著大括號中的都為符號常量了,分別為0~6.
在列舉中,不進行強制型別轉換的情況下,只能將定義的列舉量賦給列舉變數。
a_fruit = 2000; //這種賦值方式是不允許的,報錯顯示無法將int型別賦值給fruit型別。
++a_fruit;
//這兩種方式一樣不被允許,會顯示沒有定義相關操作符
若乙個整形是有效的,那麼可以使用強制型別轉換,使其賦值成功。
a_fruit = fruit(5); //這是被允許的
若乙個值是無效的,那麼結果是無法確定的,也許這樣做並不會出錯。
a_fruit = fruit(5.3); //這是不合適的值,且這個不合適的值會直接報錯。
可以使用賦值運算子來顯示地設定列舉變數的值,指定的值必須為整數:
也可以只顯示地定義其中一些值:
//顯示地定義列舉量的一些值
//使用顯示的方法建立多個值相同的列舉量
每個列舉都有取值範圍,通過強制型別轉換,可以將取值範圍中的任何整數值賦給列舉變數,即使這個整數值本身不是列舉量中的值。
enum num ;
num my_enum;
my_enum = num(5);
其中5不是列舉量,但是它位於列舉定義的列舉的範圍之內。
列舉值的範圍定義(歸納自c++primer plus):
上限:1.找到列舉變數的最大值;2.找到2的最小的但是比最大列舉量大的冪值;3.將冪值減一。(如上述num列舉的最大值是9,而2的比9大的最小的冪值是16,故此列舉的上限是16-1=15)
下限:如果列舉變數中的值不小於0,那麼下限為0;否則採用與尋找上限方式相同的方法,但加上負號。
c 列舉變數詳解
眾所周知,c c 語言可以使用 define和const建立符號常量,而使用enum工具不僅能夠建立符號常量,還能定義新的資料型別,但是必須按照一定的規則進行,下面我們一起看下enum的使用方法。1 首先,請看下面的語句 enum enumtype 這句話有兩個作用 第一 宣告enumtype為新的...
C 中的列舉
列舉型別是一種的值型別,它用於宣告一組命名的常數。1 列舉的宣告 列舉宣告用於宣告新的列舉型別。訪問修辭符 enum 列舉名 基礎型別 基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以顯式地宣告 byte sbyte short ushort int uint long 或 ulong ...
C 中的列舉
實際上列舉型別的變數,就是乙個命名常量的集合,它們在c 下使用enum關鍵字進行宣告,每乙個enum型別都自動繼承自system.enum類,所以當我們對列舉型別變數進行操作時可以使用system.enum類下的所有公開方法,可見我們也可以對 列舉型別的變數 稱之為 例項化列舉類的物件。列舉型別其實...