C 中的列舉變數

2021-09-29 12:11:24 字數 1062 閱讀 8559

是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類下的所有公開方法,可見我們也可以對 列舉型別的變數 稱之為 例項化列舉類的物件。列舉型別其實...