選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C++ 教程

C++ 主頁 C++ 簡介 C++ 入門 C++ 語法 C++ 輸出 C++ 註釋 C++ 變數 C++ 使用者輸入 C++ 資料型別 C++ 運算子 C++ 字串 C++ 數學 C++ 布林值 C++ If...Else C++ Switch C++ While 迴圈 C++ For 迴圈 C++ Break/Continue C++ 陣列 C++ 結構體 C++ 列舉 C++ 引用 C++ 指標

C++ 函式

C++ 函式 C++ 函式引數 C++ 函式過載 C++ 作用域 C++ 遞迴

C++ 類

C++ OOP C++ 類/物件 C++ 類方法 C++ 建構函式 C++ 訪問修飾符 C++ 封裝 C++ 繼承 C++ 多型 C++ 檔案 C++ 異常 C++ 日期

C++ 資料結構

C++ 資料結構與 STL C++ Vectors C++ List C++ Stacks C++ Queues C++ Deque C++ Sets C++ Maps C++ 迭代器 C++ 演算法

C++ How To

C++ 兩數相加 C++ 隨機數

C++ 參考

C++ 參考 C++ 關鍵字 C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ 示例

C++ 示例 C++ 現實生活中的例子 C++ 編譯器 C++ 練習 C++ 測驗 C++ 證書


C++ 列舉 (enum)


C++ 列舉

列舉是一種特殊的型別,表示一組常量(不可更改的值)。

要建立列舉,使用 enum 關鍵字,後跟列舉的名稱,並用逗號分隔列舉項:

enum Level {
  LOW,
  MEDIUM,
  HIGH
};

請注意,最後一個專案不需要逗號。

不要求使用大寫字母,但這通常被認為是良好實踐。

Enum 是 "enumerations"(列舉)的縮寫,意思是 "明確列出"。

要訪問列舉,必須建立它的變數。

main() 方法中,指定 enum 關鍵字,後跟列舉的名稱 (Level),然後是列舉變數的名稱 (本例中為 myVar):

enum Level myVar;

現在您已經建立了一個列舉變數 (myVar),您可以為其賦值。

賦的值必須是列舉內部的其中一個項 (LOW, MEDIUMHIGH):

enum Level myVar = MEDIUM;

預設情況下,第一項 (LOW) 的值為 0,第二項 (MEDIUM) 的值為 1,依此類推。

如果您現在嘗試列印 myVar,它將輸出 1,代表 MEDIUM

int main() {
  // 建立一個列舉變數併為其賦值
  enum Level myVar = MEDIUM;

  // 列印列舉變數
  cout << myVar;

  return 0;
}
自己動手試一試 »

更改值

如您所知,列舉的第一項值為 0。第二項值為 1,依此類推。

為了使值更有意義,您可以輕鬆更改它們:

enum Level {
  LOW = 25,
  MEDIUM = 50,
  HIGH = 75
};
int main() {
  enum Level myVar = MEDIUM;
  cout << myVar;  // 現在輸出 50
  return 0;
}
自己動手試一試 »

請注意,如果您為某個特定項賦值,則後續項將相應地更新其編號:

enum Level {
  LOW = 5,
  MEDIUM, // 現在是 6
  HIGH // 現在是 7
};
自己動手試一試 »

Switch 語句中的列舉

列舉通常用於 switch 語句中以檢查相應的值:

enum Level {
  LOW = 1,
  MEDIUM,
  HIGH
};

int main() {
  enum Level myVar = MEDIUM;

  switch (myVar) {
    case 1
      cout << "Low Level";
      break;
    case 2
      cout << "Medium level";
      break;
    case 3
      cout << "High level";
      break;
  }
  return 0;
}
自己動手試一試 »

為什麼以及何時使用列舉?

列舉用於為常量命名,這使得程式碼更易於閱讀和維護。

當您擁有一組您知道不會改變的值時,請使用列舉,例如月份、星期幾、顏色、一副牌等等。


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援