V tomto článku sa naučíte pracovať s enumeráciou (enum). Dozviete sa tiež, kde sa enums bežne používajú v programovaní v C ++.
Výčet je používateľom definovaný dátový typ, ktorý sa skladá z integrálnych konštánt. Na definovanie výčtu sa používa kľúčové slovo enum .
sezóna enum (jar, leto, jeseň, zima);
Tu je názov zoznamu sezónny.
A jar, leto a zima sú hodnotami typovej sezóny.
Štandardne je jar 0, leto 1 a tak ďalej. Počas deklarácie môžete zmeniť predvolenú hodnotu prvku enum (ak je to potrebné).
sezóna enum (jar = 0, leto = 4, jeseň = 8, zima = 12);
Vymenovaná deklarácia typu
Keď vytvoríte vymenovaný typ, vytvorí sa iba podrobný popis premennej. Tu je príklad, ako môžete vytvoriť premenné typu enum.
enum boolean (false, true); // vnútorná funkcia enum boolean check;
Tu sa vytvorí premenná kontrola typu enum boolean
.
Tu je ďalší spôsob, ako deklarovať rovnakú kontrolnú premennú pomocou inej syntaxe.
enum boolean (false, true) kontrola;
Príklad 1: Typ výpoč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ýkon
4. deň
Príklad2: Zmena predvolenej hodnoty enumov
#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ýkon
Leto = 4
Prečo sa enumy používajú v programovaní v C ++?
Premenná enum berie z mnohých možných hodnôt iba jednu hodnotu. Príklad na demonštráciu,
#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ýkon
Veľkosť premennej enum 4 bajty.
Je to preto, že veľkosť celého čísla je 4 bajty .;
Vďaka tomu je enum dobrou voľbou pre prácu s vlajkami.
Rovnakú úlohu môžete vykonať pomocou štruktúr C ++. Práca s enums vám však dáva efektivitu spolu s flexibilitou.
Ako používať enumy na vlajky?
Zoberme si príklad,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Predpokladajme, že navrhujete tlačidlo pre aplikáciu Windows. Pre prácu s textom môžete nastaviť príznaky ITALICS, BOLD a UNDERLINE.
Existuje dôvod, prečo sú všetky integrálne konštanty mocnosťou 2 vo vyššie uvedenom pseudokóde.
// V binárnom vyjadrení ITALICS = 00000001 BOLD = 00000010 Underline = 00000100
Pretože integrálne konštanty majú mocninu 2, môžete kombinovať dva alebo viac príznakov naraz bez toho, aby ste sa prekrývali pomocou bitového ALEBO | operátor. Takto môžete zvoliť dva alebo viac príznakov naraz. Naprí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ýkon
5
Ak je výstup 5, vždy viete, že sa používa tučné písmo a podčiarknutie.
Môžete tiež pridať príznak k svojim požiadavkám.
if (myDesign & ITALICS) (// kód pre kurzívu)
Tu sme do nášho dizajnu pridali kurzívu. Poznámka: Vo vnútri príkazu if je napísaný iba kód kurzívy.
V programovaní v C ++ môžete dosiahnuť takmer čokoľvek bez použitia výčtov. V určitých situáciách však môžu byť veľmi šikovní. To je to, čo odlišuje dobrých programátorov od skvelých programátorov.