C++列舉型別
enum 列舉名{ 列舉值表 }; 在列舉值表中應羅列出所有可用值。這些值也稱為列舉元素。
列舉型別的定義和初始化:
enum weekday{ sun=7,mou=1,tue,wed,thu,fri,sat };
說明:以上定義了一個列舉型別,型別名為weekday,花括號內為列舉值列表。sun初始化為7,mou初始化為1,tue預設為前一個列舉元素值加一,
因此tue=2,wed=3,以此類推。如果沒有任何列舉元素顯示初始化,第一個元素預設為0。例如,enum weekday{ sun,mou,tue,wed,thu,fri,sat }; sun
=0,mou=1,以此類推。
列舉型別變數的宣告:
我們定義好了列舉型別,就可以用它來宣告列舉變量了。
例如:weekday day = sun;我們聲明瞭一個列舉型別的變數day,並把它初始化為sun,及初始化為7。注意:列舉型別的變數和結構體變數有所區別,
列舉變數的值只能是列舉列表中的某一個。而結構體變數是包含所有的成員資料的變數。
以上的輸出結果為 3<strong>#include <iostream> using namespace std; int main() { enum weekday{ sun=7,mou=1,tue,wed,thu,fri,sat }; weekday day = wed; cout<<day; return 0; }</strong>
注意:列舉型別變數的賦值只能使用列舉列表的元素進行賦值,或者使用同一種列舉型別變數進行賦值,day = mou是允許的,day=1則會編譯出錯。
相關推薦
C++列舉型別Enum及C++11強列舉型別用法
列舉常常和switch配合使用,用一個程式碼片段來說明: //W A S D 前、後、左、右行走\nQ E 左、右轉頭\nF 復位\nG H 暫停、繼續、重播例項\nY 停止例項\nB 刪除例項\nSPACE 刪除所有例項 enum Keydown{ Forward='w', Back
C++ 列舉型別詳解
列舉型別的定義 列舉型別(enumeration)是C++中的一種派生資料型別,它是由使用者定義的若干列舉常量的集合。 定義格式:列舉型別的定義格式為: enum <型別名> {<列舉常量表>}; 其中: 關鍵字enum——指明其後的識別符
C/C++ 列舉型別詳解
列舉型別(enumeration)是C++中的一種派生資料型別,它是由使用者定義的若干列舉常量的集合。定義格式:列舉型別的定義格式為:enum <型別名> {<列舉常量表>};其中: 關鍵字enum——指明其後的識別符號是一個列舉型別的名字。列舉常
C++列舉型別和typedef宣告新的型別名
如果一個變數只能有幾種可能的值,可以定義為列舉型別。所謂列舉型別就是把變數的值一一列舉出來,變數的值只能在列舉出來的值的範圍內。 enum weekday{sun,mon,tue,wed,thu,fri,sat}; 上面聲明瞭一個列舉型別weekday
C++列舉型別enum
也可以自行定義,系統會自動調整所有值,規律是後面的列舉元素比前一個大1。 main() {enum weekday { sun,mon,tue,wed,thu,fri,sat } a,b,c;a=sun;b=mon;c=tue;printf("%d,%d,%d",a,b,c);}3. 只能把列舉值賦予列舉變數
C++列舉型別
enum 列舉名{ 列舉值表 }; 在列舉值表中應羅列出所有可用值。這些值也稱為列舉元素。 列舉型別的定義和初始化: enum weekday{ sun=7,mou=1,tue,wed,thu,f
C++ 列舉型別的使用
在程式開發的時候,我們有時候會給物件設定幾種狀態的值,典型的做法是定義幾個常數,表示幾種狀態,但是最好的方法是使用列舉來完成 下面來個例子: #include <iostream> usi
C++列舉型別實驗:三色球問題
口袋中有紅、黃、藍3種顏色的小球,如果每次從口袋中取出2種不同顏色的小球,編寫程式,打印出每種組合。#include <iostream> #include <string> u
Objective-C列舉型別詳解
最近看了一本OC進階的書,很多人推薦的Effective Objictive-C2.0,看到書中列舉型別的介紹,覺得很不錯,這裡為大家總結一下。 enum 由於Objective-C基於C語言,所以C語言有的功能它都有,其中之一就是列舉型別enum。列舉
Objective-C 列舉型別和字串互轉方案
列舉型別的使用優勢沒啥好說的。但經常需要將它與字串進行轉換方便顯示或其它需求。 在常見的方案中,多是先宣告,然後在實現檔案裡建立一個對映表。這樣帶來的問題就是要分兩個檔案來管理,帶來管理不方便不好。使用前還在確保對映表已經初始化。顯然使用時還是有些許難受。 如果全部改用巨集
C++列舉型別同名衝突問題
今天被C++列舉型別困擾了……之前寫程式一直沒有留意到這個問題,原來在C++中使用多個列舉型別時也是不能出現同名的。DAMN IT! 個人認為這一點C++的實現確實是不如C#中那樣的列舉型別先進……當然這裡面是有一定的歷史原因的,要相容C嘛。但願C++的下一個版本中會進行改進(已經有這個兆頭了:-)) 一時
C#列舉型別、列舉型別與其他型別轉換、結構型別、陣列型別
1、C#中的常量用constant標定,不能改變或賦值; 2、列舉型別 [public ] enum 列舉名 // 訪問識別符號、列舉關鍵字、列舉名(符合Pascal命名規範) { 值1, 值2,(最後這個英文半形,可有可無) } 列舉型別的宣告:將列舉型
C語言之列舉型別
在C語言中,列舉型別(enumerated type)宣告符號名稱來表示整形常量。使用enum關鍵字,可以建立一個新“型別”並指定它可具有的值,如: //建立spectrum作標記名,那enum spectrum作為一個型別名使用 enum spectrum { red, orange,
C語言(結構體、列舉型別、型別定義)
結構體的定義 1、`struct 結構體名 { 成員型別 成員名; … }; 2、省略結構體名 struct { 成員型別 成員名; ... }結構體變數名; 成員可以是其他已定義結構體的型別,但不能是自己結構體的型別,可以是自己結構體的指標。 定義
C語言查缺補漏(九)共用體與列舉型別
忽略點九:共用體與列舉型別 共用體?What?它是什麼,上了兩年大學的我有點懵逼。共用體已然成了我C語言的盲區。 存在必然有它的意義,所以惡補了一下有關共用體的知識。 在我的理解裡,共用體和上一篇博文所介紹的結構體,都是用來儲存不同資料型別的“容器”
C#從入門到精通____3.2.4列舉型別
列舉型別是一種獨特的值型別,它用於宣告一組具有相同性質的常量,使用列舉可以增加程式的可讀性和可維護性。在C#中使用關鍵字enum類宣告列舉,其形式如下。 enum 列舉名 { list1=value1, list2=value2, list3=
有關C語言的列舉型別和goto、break和continue語句
有關C語言的列舉型別和goto、break和continue語句 今天我們首先來看一下列舉型別,因為這個真的很容易讓人忘記,感覺平常都用不上的角色,所以今天特意將它拿出來講解一下 首先我們看一下列舉的一般用法 typedef enum { sun = 1, mon=2,
C 構造型別 陣列、列舉、聯合體、結構體(位段) 位元組對齊 和 大小端儲存
列舉 .列舉:被命名的標籤常量(對事物的列出) ---型別的構造------- enum key{ UP, //成員<標籤常量:預設第一個為0 後一個總是前一個的值加一> DOWN, L
C++ Primer第五版筆記--列舉型別
列舉型別可以將一組整型常量組織在一起;和類一樣,每個列舉型別定義了一種新的型別;列舉屬於字面常量型別。 C++包含兩種列舉:限定作用域(C++11新標準引入)的和不限定作用域的: 定義限定作用域的列舉型別的一般形式是:首先是關鍵字enum class(或者等價的使用struct)
C++11 強列舉型別的應用
一貫的風格,為什麼c++ 11為什麼要引入強列舉型別,主要是為了解決什麼問題? 在此之前我們來看看平時我們的列舉用法: enum是我們編譯器內建的型別. 首先列舉型別是不安全的,為什麼不安全? //體重 namespace T { enum Type {