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