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 boolean
luodaan 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.