گزاره شمار/Enums (Enums)
گزاره شمار (Enum) یعنی فهرست ثابت ها. «ثابت (Constant)» مقداری تغییرناپذیر است. مثل سختی بازی: کم، متوسط، زیاد. با نام ها، کد خواناتر می شود.
تعریف گزاره شمار
با enum یک نوع مخصوص می سازیم و اعضا را با ویرگول جدا می کنیم.
enum Level {
LOW,
MEDIUM,
HIGH
};
نکته: کامای آخر لازم نیست. حروف بزرگ رایج است.
ساخت متغیر از نوع enum
برای استفاده، یک متغیر از همان نوع می سازیم.
enum Level myVar;
حالا می توانیم یکی از اعضا را به آن بدهیم.
enum Level myVar = MEDIUM;
چاپ مقدار و مقداردهی پیش فرض
به طور پیش فرض LOW معادل 0 است. سپس 1 و 2.
int main() {
enum Level myVar = MEDIUM;
cout << myVar;
return 0;
}
تغییر مقادیر اعضا
می توانیم برای هر عضو عدد دلخواه بگذاریم.
enum Level {
LOW = 25,
MEDIUM = 50,
HIGH = 75
};
int main() {
enum Level myVar = MEDIUM;
cout << myVar;
return 0;
}
اگر یکی را مقداردهی کنیم، بعدی ها خودکار ادامه می گیرند.
enum Level {
LOW = 5,
MEDIUM,
HIGH
};
enum داخل switch
معمولاً در switch از enum برای تصمیم گیری استفاده می کنیم.
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1:
cout << "Low Level";
break;
case 2:
cout << "Medium level";
break;
case 3:
cout << "High level";
break;
}
return 0;
}
نکته: enum به ثابت ها نام می دهد. کد خواناتر می شود.
گام های عملی
- اعضا را فهرست کن؛ مثلاً LOW، MEDIUM، HIGH.
- enum را با نام مناسب بساز.
- یک متغیر بساز و مقدار بده.
هشدار: فقط از اعضای تعریف شده استفاده کن. مقدار دیگر نده.
جمع بندی سریع
- enum گروهی از ثابت هاست.
- پیش فرض از صفر شماره گذاری می شود.
- می توان مقدارها را دستی تعیین کرد.
- در switch بسیار کاربردی است.
بیشتر بخوان: ساختارها، همچنین گزاره شمار برای مرور. از بیرون: W3Schools: Enumeration و W3Schools: References.