Kiểu liệt kê (enum) khai báo một tên kiểu tùy chọn và một tập hợp 0 hoặc nhiều identifier dùng làm giá trị của kiểu đó. Mỗi enumerator là một hằng số kiểu là kiểu liệt kê. Chúng cũng gọi là hằng liệt kê.
Ví dụ: ứng dụng có số loại cố định cho biến, như giới tính: nam, nữ, khác. Định nghĩa và dùng enum:
#include <iostream>
using namespace std;
enum Gender {MALE, FEMALE, OTHERS};
int main() {
Gender gen = Gender::FEMALE; // C++11 scoped enum
return 0;
}
Mặc định, giá trị đầu tiên là 0, tiếp theo 1, 2... Nhưng giá trị không quan trọng vì enum dùng để mang ý nghĩa biểu tượng. Khi so sánh enum, bạn dùng ý nghĩa biểu tượng chứ không dùng giá trị thực.