C++ Enumeration

🧩 C++ Enumeration (enum)

An enumeration (enum) in C++ is a user-defined data type that consists of a set of named constant values.
It improves code readability, safety, and maintainability.


 1. Why Use enum?

Instead of using numbers like 0, 1, 2, you use meaningful names.

❌ Without enum:

int day = 1; // What is 1?

✔ With enum:

Day day = Monday;

2. Defining an Enumeration

enum Day {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};

➡ By default:

Monday = 0
Tuesday = 1
Wednesday = 2
...

 3. Using enum Variables

Day today = Wednesday;

cout << today; // Output: 2


4. Assign Custom Values

enum Status {
Success = 1,
Failure = 0,
Pending = 2
};

 5. Auto-Increment Behavior

enum Level {
Low = 10,
Medium,
High
};

Values:

Low = 10
Medium = 11
High = 12

 6. enum in switch Statement

enum Color { Red, Green, Blue };

Color c = Green;

switch (c) {
case Red:
cout << “Red”;
break;
case Green:
cout << “Green”;
break;
case Blue:
cout << “Blue”;
break;
}


 7. Enum for Menu Program (Real Use)

enum Menu { Add = 1, Edit, Delete, Exit };

int choice;
cin >> choice;

switch (choice) {
case Add:
cout << “Add Selected”;
break;
case Edit:
cout << “Edit Selected”;
break;
}


8. enum vs #define

enum #define
Type-safe No type safety
Debug-friendly Hard to debug
Scoped values Global macros

 9. Modern C++: enum class (Scoped Enum)

enum class Direction {
Left,
Right,
Up,
Down
};
Direction d = Direction::Left;

✔ Avoids name conflicts
✔ Strong type safety


10. Difference: enum vs enum class

enum enum class
Implicit conversion to int No implicit conversion
Global scope Scoped
Older Modern (C++11+)

📌 Summary

  • enum defines named constants

  • Improves readability and safety

  • Useful in menus, states, options

  • Prefer enum class in modern C++

You may also like...