C ++ felsorolás

Ebben a cikkben megtanulsz dolgozni a felsorolással (enum). Ezenkívül megtudhatja, hogy a C ++ programozásban hol használják az enumokat.

A felsorolás egy felhasználó által definiált adattípus, amely integrál konstansokból áll. A felsorolás meghatározásához az enum kulcsszót használjuk.

 enum szezon (tavasz, nyár, ősz, tél);

Itt a felsorolás neve szezon.

És a tavasz, a nyár és a tél a típusszezon értékei.

Alapértelmezés szerint a tavasz 0, a nyár 1 és így tovább. A deklaráció során megváltoztathatja az enum elem alapértelmezett értékét (ha szükséges).

 enum szezon (tavasz = 0, nyár = 4, ősz = 8, tél = 12);

Felsorolt ​​típusnyilatkozat

Felsorolt ​​típus létrehozásakor csak a változó tervrajza jön létre. Így hozhat létre enum típusú változókat.

enum logikai (hamis, igaz); // belső függvény enum logikai ellenőrzés;

Itt egy változó típusú ellenőrzés enum booleanjön létre.

Itt van egy másik módszer arra, hogy ugyanazt az ellenőrző változót különböző szintaxissal deklarálhatjuk.

 enum logikai (hamis, igaz) ellenőrzés; 

1. példa: Felsorolás típusa

 #include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; ) 

Kimenet

 4. nap

2. példa: A számlák alapértelmezett értékének módosítása

 #include 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; )

Kimenet

 Nyár = 4

Miért használnak enumokat a C ++ programozásban?

Az enum változó csak egy értéket vesz fel a sok lehetséges érték közül. Példa annak bemutatására,

 #include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; ) 

Kimenet

 4 bájtos enum változó mérete.

Azért, mert egy egész szám mérete 4 bájt;

Ez az ENUM jó választás a zászlókkal való együttműködésre.

Ugyanezt a feladatot elvégezheti a C ++ struktúrák használatával. Az enumokkal való munka azonban hatékonyságot és rugalmasságot kínál.

Hogyan lehet az enumokat használni a zászlókhoz?

Vegyünk egy példát,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Tegyük fel, hogy egy gombot tervez a Windows alkalmazáshoz. Beállíthatja az ITALICS, a BOLD és az UNDERLINE jelzőket a szöveg használatához.

Van egy oka annak, hogy az összes integrál konstans értéke 2 a fenti álkódban.

 // bináris ITALICS = 00000001 BOLD = 00000010 ALÁHúzás = 00000100 

Mivel az integrál konstansok értéke 2, akkor két vagy több jelzőt kombinálhat egyszerre átfedés nélkül a bitenkénti VAGY | operátor. Ez lehetővé teszi, hogy egyszerre két vagy több zászlót válasszon. Például,

 #include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; ) 

Kimenet

 5.

Ha a kimenet 5, akkor mindig tudja, hogy félkövér és aláhúzás szerepel.

Ezenkívül felveheti a zászlót az igényei közé.

 if (myDesign & ITALICS) (// dőlt betűs kód)

Itt dőlt betűvel egészítettük ki a tervünket. Megjegyzés: az if utasításban csak a dőlt betűs kód kerül beírásra.

A C ++ programozásban szinte bármit meg lehet valósítani felsorolások használata nélkül. Bizonyos helyzetekben azonban nagyon hasznosak lehetnek. Ez különbözteti meg a jó programozókat a nagyszerű programozóktól.

érdekes cikkek...