Výčet C ++

V tomto článku se naučíte pracovat s výčtem (enum). Dozvíte se také, kde se enums běžně používají v programování v C ++.

Výčet je uživatelem definovaný datový typ, který se skládá z integrálních konstant. K definování výčtu se používá klíčové slovo enum .

 výroční sezóna (jaro, léto, podzim, zima);

Zde je název výčtu sezóna.

A jaro, léto a zima jsou hodnoty typové sezóny.

Ve výchozím nastavení je jaro 0, léto 1 a tak dále. Během deklarace můžete změnit výchozí hodnotu prvku enum (pokud je to nutné).

 výroční sezóna (jaro = 0, léto = 4, podzim = 8, zima = 12);

Vyjmenovaná deklarace typu

Když vytvoříte výčtový typ, vytvoří se pouze podrobný plán pro proměnnou. Zde můžete vytvořit proměnné typu enum.

enum boolean (false, true); // vnitřní funkce výčet boolean check;

Zde se vytvoří proměnná kontrola typu enum boolean.

Zde je další způsob, jak deklarovat stejnou kontrolní proměnnou pomocí jiné syntaxe.

 výčet boolean (false, true) kontrola; 

Příklad 1: Typ výčtu

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

Výstup

 4. den

Příklad 2: Změna výchozí hodnoty výčtu

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

Výstup

 Léto = 4

Proč se enumy používají v programování v C ++?

Proměnná výčtu přebírá z mnoha možných hodnot pouze jednu hodnotu. Příklad k prokázání,

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

Výstup

 Velikost proměnné enum 4 bajty.

Je to proto, že velikost celého čísla je 4 bajty .;

Díky tomu je enum dobrou volbou pro práci s příznaky.

Stejný úkol můžete provést pomocí struktur C ++. Práce s výčty vám však poskytuje efektivitu spolu s flexibilitou.

Jak používat výčty pro příznaky?

Vezměme si příklad,

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

Předpokládejme, že navrhujete tlačítko pro aplikaci Windows. Můžete nastavit příznaky ITALICS, BOLD a UNDERLINE pro práci s textem.

Existuje důvod, proč jsou všechny integrální konstanty výkonem 2 ve výše uvedeném pseudokódu.

 // V binárním formátu ITALICS = 00000001 BOLD = 00000010 PODKLAD = 00000100 

Protože jsou integrální konstanty výkonem 2, můžete kombinovat dva nebo více příznaků najednou bez překrývání pomocí bitového NEBO | operátor. To vám umožní vybrat dva nebo více příznaků najednou. Například,

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

Výstup

 5

Když je výstup 5, vždy víte, že se používá tučné písmo a podtržení.

K vašim požadavkům můžete také přidat příznak.

 if (myDesign & ITALICS) (// kód pro kurzívu)

Zde jsme do našeho designu přidali kurzívu. Všimněte si, že uvnitř příkazu if je napsán pouze kód kurzívy.

V programování v C ++ můžete dosáhnout téměř čehokoli bez použití výčtu. V určitých situacích však mohou být velmi užitečné. To je to, co odlišuje dobré programátory od skvělých programátorů.

Zajímavé články...