Enumerated type ประกาศชื่อชนิดแบบไม่บังคับ และชุดของ identifier ศูนย์หรือมากกว่า ที่สามารถใช้เป็นค่าของชนิดนั้นได้ แต่ละ enumerator เป็น constant ที่ชนิดของมันคือ enumeration ตัวอย่าง หากคุณสร้างแอปพลิเคชันที่มีจำนวนชนิดคงที่สำหรับตัวแปรบางตัว เช่น gender สามารถเป็น 3 ชนิดคือ male, female, others คุณสามารถกำหนดและใช้ enum ได้ดังนี้ -
#include <iostream>
using namespace std;
enum Gender {MALE, FEMALE, OTHERS};
int main() {
Gender gen = Gender::FEMALE; // ใช้ :: ไม่ใช่ .
return 0;
}
โดยค่าเริ่มต้น ค่าของชื่อแรกคือ 0 ชื่อที่สองคือ 1 ชื่อที่สามคือ 2 ไปเรื่อยๆ แตค่าเหล่านี้ไม่สำคัญเพราะ enums ใช้เพื่อความหมายเชิงสัญลักษณ์ (symbolic meaning) เวลาเปรียบเทียบ enum ในโปรแกรม คุณใช้ความหมายสัญลักษณ์ ไม่ใช่ค่าจริง