C ++ -luettelo

Tässä artikkelissa opit työskentelemään luettelon (enum) kanssa. Opit myös, missä enumeja käytetään yleisesti C ++ - ohjelmoinnissa.

Luettelo on käyttäjän määrittelemä tietotyyppi, joka koostuu integraaleista vakioista. Luettelon määrittelemiseksi käytetään avainsanaa enum .

 enum-kausi (kevät, kesä, syksy, talvi);

Tässä luettelon nimi on kausi.

Ja kevät, kesä ja talvi ovat tyypin kauden arvoja.

Oletuksena kevät on 0, kesä on 1 ja niin edelleen. Voit muuttaa enum-elementin oletusarvoa ilmoituksen aikana (tarvittaessa).

 enum-kausi (kevät = 0, kesä = 4, syksy = 8, talvi = 12);

Luetteloitu tyyppivakuutus

Kun luot luetellun tyypin, luodaan vain muuttujan suunnitelma. Näin voit luoda enum-tyyppisiä muuttujia.

enum totuusarvo (väärä, tosi); // sisäinen toiminto enum looginen tarkistus;

Tässä enum booleanluodaan tyypin muuttujan tarkistus .

Tässä on toinen tapa ilmoittaa sama tarkistusmuuttuja käyttämällä eri syntaksia.

 enum looginen (väärä, tosi) tarkistus; 

Esimerkki 1: Luettelotyyppi

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

Tuotos

 Päivä 4

Esimerkki 2: Enumien oletusarvon muuttaminen

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

Tuotos

 Kesä = 4

Miksi enumeja käytetään C ++ -ohjelmoinnissa?

Enum-muuttuja ottaa vain yhden arvon monista mahdollisista arvoista. Esimerkki sen osoittamiseksi,

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

Tuotos

 Enum-muuttujan koko 4 tavua.

Se johtuu siitä, että kokonaisluvun koko on 4 tavua .;

Tämä tekee enumista hyvän valinnan työskennellä lippujen kanssa.

Voit suorittaa saman tehtävän käyttämällä C ++ - rakenteita. Työskentely enumien kanssa tuo kuitenkin tehokkuutta ja joustavuutta.

Kuinka käyttää lippuja lipuille?

Otetaanpa esimerkki,

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

Oletetaan, että suunnittelet painikkeen Windows-sovellukselle. Voit asettaa liput ITALICS, BOLD ja Underline toimimaan tekstin kanssa.

On syy, miksi kaikki integraalit vakiot ovat 2: n voimaa yllä olevassa pseudokoodissa.

 // Binaarina ITALICS = 00000001 BOLD = 00000010 ALAJONTA = 00000100 

Koska integraalivakiot ovat 2: n voima, voit yhdistää kaksi tai useampaa lippua kerralla päällekkäin käyttämällä bittiä OR | operaattori. Tämän avulla voit valita kaksi tai useampia lippuja kerralla. Esimerkiksi,

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

Tuotos

 5

Kun tulos on 5, tiedät aina, että lihavoitua ja alleviivausta käytetään.

Voit myös lisätä lipun vaatimuksiisi.

 if (myDesign & ITALICS) (// kursivoitu koodi)

Täällä olemme lisänneet suunnitteluun kursiivin. Huomaa, että vain kursivoitu koodi kirjoitetaan if-lauseen sisälle.

Voit suorittaa melkein mitä tahansa C ++ - ohjelmoinnissa käyttämättä luetteloita. Ne voivat kuitenkin olla melko käteviä tietyissä tilanteissa. Se erottaa hyvät ohjelmoijat suurista ohjelmoijista.

Mielenkiintoisia artikkeleita...