एक एन्यूमरेटेड प्रकार एक वैकल्पिक प्रकार नाम और शून्य या अधिक पहचानकर्ताओं का सेट घोषित करता है जिनका उपयोग प्रकार के मानों के रूप में किया जा सकता है। प्रत्येक एन्यूमरेटर एक कॉन्स्टेंट है जिसका प्रकार एन्यूमरेशन है। उदाहरण के लिए, यदि आप एक ऐसा एप्लिकेशन बना रहे हैं जिसमें किसी वेरिएबल के लिए निश्चित संख्या में प्रकार हैं। उदाहरण के लिए, मान लें जेंडर, यह तीन प्रकार का हो सकता है: मेल, फीमेल और अदर्स। आप इसे एन्यूम की तरह परिभाषित और उपयोग कर सकते हैं –
#include<iostream>
using namespace std;
enum Gender {MALE, FEMALE, OTHERS};
int main() {
Gender gen = Gender.FEMALE;
return 0;
}
डिफ़ॉल्ट रूप से, पहले नाम का मान 0 होता है, दूसरे का 1, तीसरे का 2, और इसी तरह। लेकिन ये मान मायने नहीं रखते क्योंकि एन्यूम्स मूल रूप से प्रतीकात्मक अर्थ रखने के लिए उपयोग किए जाते हैं। जब भी आप अपने प्रोग्राम में एन्यूम की तुलना करते हैं, तो आप केवल उसके प्रतीकात्मक अर्थ का उपयोग कर रहे होंगे न कि उसके वास्तविक मान का।