C++ 快速導覽 - 列舉

列舉 (enumeration) 是一組整數常數,例如

#include <iostream>
 
int main(void)
{
    enum Day {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
    
    std::cout << "Sunday: " << Sunday << std::endl;
    std::cout << "Monday: " << Monday << std::endl;
    std::cout << "Tuesday: " << Tuesday << std::endl;
    std::cout << "Wednesday: " << Wednesday << std::endl;
    std::cout << "Thursday: " << Thursday << std::endl;
    std::cout << "Friday: " << Friday << std::endl;
    std::cout << "Saturday: " << Saturday << std::endl;
    
    Day today = Wednesday;
    std::cout << "Today: " << today << std::endl;

    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:enumdemo.cpp
    功能:示範 C++ 程式
    作者:張凱慶
    時間:西元 2013 年 1 月 */


第 5 行,定義一個列舉型態 (type) Day ,使用關鍵字 (keyword) enum ,後面接著型態名稱 Day ,然後大括弧中是列舉的識別字 (identifier)
enum Day {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};


列舉常數為從 0 開始遞增的整數常數數列,因此第 15 行宣告的 today 亦為整數常數, Wednesday 是第 4 個值,所以是整數 3
Day today = Wednesday;


編譯執行結果如下



我們也可以重新設定列舉的整數數列,例如將上例中的 Sunday 移到最後, Monday 仍維持為整數 1 ,如下
enum Day {Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};


中英文術語對照
列舉enumeration
型態type
關鍵字keyword
識別字identifier


您可以繼續參考
複合資料型態


相關目錄
回 C++ 快速導覽
回 C++ 教材
回首頁


參考資料
C++ reference
cplusplus.com
Cprogramming.com C++ Tutorial

C++ Primer, Fourth Edition, Stanley B. Lippman...

沒有留言: