V tem članku se boste naučili delati s štetjem (enum). Izvedeli boste tudi, kje se enumi pogosto uporabljajo pri programiranju na C ++.
Naštevanje je uporabniško določen podatkovni tip, ki je sestavljen iz integralnih konstant. Za določitev oštevilčenja se uporablja ključna beseda enum .
sezona enum (pomlad, poletje, jesen, zima);
Tu je ime naštevanja sezona.
Spomladi, poletje in zima so vrednote vrste sezone.
Privzeto je pomlad 0, poletje 1 itd. Med deklaracijo lahko spremenite privzeto vrednost elementa enum (če je potrebno).
sezona štetja (pomlad = 0, poletje = 4, jesen = 8, zima = 12);
Izštevana deklaracija tipa
Ko ustvarite oštevilčen tip, se za spremenljivko ustvari samo načrt. Tukaj je opisano, kako lahko ustvarite spremenljivke tipa enum.
enum boolean (false, true); // znotraj funkcije enum logično preverjanje;
Tu se ustvari spremenljivka za preverjanje vrste enum boolean
.
Tu je še en način razglasitve iste kontrolne spremenljivke z različno sintakso.
enum boolean (false, true) check;
Primer 1: Vrsta štetja
#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; )
Izhod
4. dan
Primer2: Spreminjanje privzete vrednosti 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; )
Izhod
Poletje = 4
Zakaj se enumi uporabljajo pri programiranju na C ++?
Spremenljivka enum odvzame samo eno vrednost od številnih možnih vrednosti. Primer za dokazovanje,
#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; )
Izhod
Velikost spremenljivke naštevanja 4 bajta.
To je zato, ker je velikost celega števila 4 bajtov .;
Zaradi tega je enum dobra izbira za delo z zastavami.
Isto nalogo lahko opravite s pomočjo struktur C ++. Vendar pa vam delo s številom prinaša učinkovitost in prilagodljivost.
Kako uporabiti enume za zastave?
Vzemimo primer,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Denimo, da načrtujete gumb za aplikacijo Windows. Za delo z besedilom lahko nastavite zastavice ITALICS, BOLD in UNDERLINE.
Obstaja razlog, zakaj so vse integralne konstante stopnje 2 v zgornji psevdokodi.
// V binarni obliki ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Ker so integralne konstante stopnja 2, lahko hkrati kombinirate dve ali več zastavic, ne da bi se prekrivali z uporabo bitov ALI | operater. To vam omogoča izbiro dveh ali več zastav hkrati. Na primer
#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; )
Izhod
5.
Ko je izhod 5, vedno veste, da se uporablja krepko in podčrtano.
Prav tako lahko svojim zahtevam dodate zastavico.
if (myDesign & ITALICS) (// koda za ležeče)
Tu smo našemu dizajnu dodali ležečo pisavo. Upoštevajte, da je v stavku if napisana le koda za poševno pisavo.
V programiranju C ++ lahko dosežete skoraj vse, ne da bi uporabljali naštevanja. Vendar so lahko v določenih situacijah zelo priročni. To je tisto, kar loči dobre programerje od odličnih programerjev.