English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本文中,您将学习使用枚举(enum)。此外,您还将学习C ++编程中通常使用枚举的地方。
枚举是用户定义的数据类型,由整数常量组成。可以使用关键字enum,定义枚举。
enum season { spring, summer, autumn, winter };
在这里,枚举的名称是season。
而且,spring,summer和winter是season类型的值。
默认情况下spring为0,summer为1,依此类推。您可以在声明期间更改枚举元素的默认值(如有必要的话)。
enum season { spring = 0, summer = 4, autumn = 8, winter = 12 };
创建枚举类型时,只会创建该变量的蓝图。这是创建枚举类型变量的方法。
enum boolean { false, true }; // 内部函数 enum boolean check;
{
#include <iostream> using namespace std; enum week { \ int main() { week today; today = \ cout << \ return 0; }
نتيجة الخروج
يوم من الأسبوع؟3
#include <iostream> using namespace std; enum seasons { spring = 34, summer = 4, autumn = 9, winter = 32}; int main() { seasons s; s = summer; cout << "Summer = " << s << endl; return 0; }
نتيجة الخروج
Summer = 4
يأخذ متغير الجرد قيمة واحدة فقط من العديد من القيم المحتملة. يمكن توضيح ذلك بالأمثلة التالية:
#include <iostream> using namespace std; enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3 }; card; int main() { card = club; cout << "حجم متغير enum " << sizeof(card) << " بايت."; return 0; }
نتيجة الخروج
حجم متغير enum 4 بايت.
بسبب أن حجم العدد الصحيح هو 4 بايت.
هذا يجعل enum خيارًا جيدًا لاستخدام العلامات.
يمكنك استخدامهيكل C++لإكمال نفس المهمة. ولكن، يمكن أن تزيد الاستخدامات المحددة من الكفاءة وال灵活性.
لنأخذ مثالاً على ذلك،
enum designFlags { ITALICS = 1, BOLD = 2, UNDERLINE = 4 }; button;
افترض أنك تقوم بتصميم أزرار تطبيق ويندوز. يمكنك تعيين علامات ITALICS، BOLD وUNDERLINE لمعالجة النص.
لديه سبب لكون جميع معلمات التكامل في الكود المزيف أعلاه هي قوى من 2.
// In binary ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
بما أن عدد التكامل هو قوة من 2، يمكن دمج علامتين أو أكثر في نفس الوقت دون استخدام عمليات أوتار | للتموضع. هذا يسمح لك باختيار علامتين أو أكثر في نفس الوقت. على سبيل المثال,
#include <iostream> using namespace std; enum designFlags { BOLD = 1, ITALICS = 2, UNDERLINE = 4 }; int main() { int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; }
نتيجة الخروج
5
عندما يكون الخروج 5، تعرف دائمًا أن سيتم استخدام النص粗يًا وخطًا أسفل.
إضافة إلى ذلك، يمكنك إضافة علامات في الطلب.
if (myDesign & ITALICS) { // نص مائل الكود }
في هذا الموضع، قمنا بإضافة النص المائل. لاحظ أن فقط النص المائل الكود مكتوبفي جملة if.
لا تحتاج إلى استخدام الـ