※這邊用來記錄enum列舉的使用語法
- 介紹:
enum列舉,使用在賦予一些"有範圍"的特定屬性。 - 特性:
- 列舉成員的列舉值初始值為0,之後的成員為累加1
- 列舉成員名稱不可重複,但儲存值可以重複
- 列舉值只能是整數常數(正負皆可),但不可為浮點數 - 使用語法:
- 列舉的語法分為兩部分,分別是宣告"列舉名稱及成員" & “列舉變數”。
- 列舉中的成員(列舉子)為常數,不能修改。
以下語法中的中括號[]皆不需輸入,但大括號則需要
- 宣告 列舉名稱
enum [列舉名稱] { a, b, c, d, e }; 註:大括號內的a,b,c,d,e為列舉成員
ex : enum myenum { a, b, c,}; 註:列舉成員須以逗號’,'結尾,最後一個則可省略- 宣告 列舉變數
(enum) [列舉變數] = 列舉成員(初始值) 註:列舉變數只接受傳遞來自相同列舉名稱的列舉子
ex : enum myenum var1 = a; 註:這裡的enum可省略,可寫成如下
ex : myenum var1 = a;
#include "pch.h"
#include <iostream>
using namespace std;
//每個列舉子(除了最後一個)須以逗號','結尾
//並且可以在宣告時給定一個列舉值,且不須獨一無二
//列舉中的成員需要為獨一無二不可重複
enum test {
a, //第一個列舉子預設列舉值為 1
b, //預設由上個列舉子累加1 > 1
c, //預設由上個列舉子累加1 > 2
d = 1, //宣告時給列舉值(列舉值可以重複不須獨一無二)
e, // 2
f, // 3,最後一個列舉子可以省略結尾的逗號
} test1; //可接受在宣告完列舉名稱後在大括號後直接宣告列舉名稱
int main()
{
test mytest; //接受一開始不初始化,並需在之後再給定列舉子
mytest = a; //給定一個已宣告
//------------------------------------------------------------------
test mytest2 = c; //一開始宣告mytest2時就初始化它的值為列舉子c,所以為2
//------------------------------------------------------------------
test mytest3 = (test)6; //可接受強制型別轉換
//------------------------------------------------------------------
cout << mytest << endl; //0
cout << mytest2 << endl; //2
cout << mytest3 << endl; //6
cout << a << endl; //0
cout << b << endl; //1
cout << f << endl; //3
return 0;
}