Enumeration, commonly known as enum, is a powerful feature in C++ that allows programmers to define a set of named constants. Enums provide a way to represent a group of related values, making code more readable and maintainable. This article will explore the concept of enumeration in C++, covering its definition and example.
What is Enumeration?
Enumeration in C++ is a user-defined data type that consists of a set of named constants, known as enumerators. Enums allow us to define corresponding values, making our code more expressive and self-documenting. Let's understand with one example.
Example:
enum Color {
RED,
GREEN,
BLUE
};
Changing the Default value of the enum.
enum Color { RED = 1, GREEN, BLUE };
Enumerated Type Declaration.
//C++ code example to Enumerated Type Declaration #include <iostream> using namespace std; //declare enum enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }; typedef enum Weekday Day; int main() { Day today = WEDNESDAY; cout << "Today is "; switch (today) { case MONDAY: cout << "Monday"; break; case TUESDAY: cout << "Tuesday"; break; case WEDNESDAY: cout << "Wednesday"; break; case THURSDAY: cout << "Thursday"; break; case FRIDAY: cout << "Friday"; break; case SATURDAY: cout << "Saturday"; break; case SUNDAY: cout << "Sunday"; break; default: cout << "Invalid day"; break; } cout << endl; return 0; }
Today is Wednesday
How to use Enum for Flags?
//C++ program for using enum for flag #include <iostream> using namespace std; enum Permissions { READ = 1, WRITE = 2, EXECUTE = 4 }; int main() { // Combine READ and WRITE flags Permissions userPermissions = static_cast<Permissions>(READ | WRITE); // Checking individual flags if (userPermissions & READ) { cout << "User has read permission" << endl; } if (userPermissions & WRITE) { cout << "User has write permission" << endl; } if (userPermissions & EXECUTE) { cout << "User has execute permission" << endl; } return 0; }
User has read permission User has write permission



