C++ Enumeration (enum)

🔹 تعریف

  • enum یک نوع داده کاربر‌ساز است که شامل مجموعه‌ای از مقادیر ثابت (ثابت‌های نام‌گذاری شده) می‌شود.

  • برای خوانایی بهتر کد و جلوگیری از استفاده از عددهای جادویی (magic numbers) کاربرد دارد.

🔹 ساختار کلی

enum نام_enum { مقدار1, مقدار2, مقدار3, ... };

هر مقدار به طور پیش‌فرض از صفر شروع می‌شود و به ترتیب افزایش می‌یابد، اما می‌توان مقادیر خاص هم به آنها داد.

1️⃣ مثال ساده: روزهای هفته

#include <iostream> using namespace std; enum Day { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; int main() { Day today = Wednesday; cout << "Day number: " << today << endl; // خروجی: 2 (چون صفر شروع می‌شود) }

2️⃣ اختصاص مقدار مشخص به اعضای enum

#include <iostream> using namespace std; enum Color { Red = 1, Green = 5, Blue = 10 }; int main() { Color c = Green; cout << "Color value: " << c << endl; // خروجی: 5 }

3️⃣ استفاده از enum در شرط

#include <iostream> using namespace std; enum TrafficLight { Red, Yellow, Green }; int main() { TrafficLight light = Yellow; if (light == Red) { cout << "Stop!" << endl; } else if (light == Yellow) { cout << "Get Ready!" << endl; } else { cout << "Go!" << endl; } }

🔹 خروجی: Get Ready!

🔹 نکات مهم

  1. مقادیر enum به صورت اعداد صحیح ذخیره می‌شوند.

  2. استفاده از enum خوانایی کد را افزایش می‌دهد و اشتباهات ناشی از استفاده عدد کاهش می‌یابد.

  3. در C++11 می‌توان از enum class استفاده کرد تا دامنه نام‌ها محدود و ایمن‌تر شود:

enum class Color { Red, Green, Blue }; Color c = Color::Red;