I denne artikkelen vil du lære å jobbe med oppregning (enum). Du vil også lære hvor enums ofte brukes i C ++ programmering.
En oppregning er en brukerdefinert datatype som består av integrerte konstanter. For å definere en oppregning brukes nøkkelordet enum .
enum sesong (vår, sommer, høst, vinter);
Her er navnet på opptellingen sesong.
Og vår, sommer og vinter er verdier av typen sesong.
Som standard er våren 0, sommeren er 1 og så videre. Du kan endre standardverdien til et enum-element under erklæringen (om nødvendig).
enum sesong (vår = 0, sommer = 4, høst = 8, vinter = 12);
Oppregnet typedeklarasjon
Når du oppretter en nummerert type, opprettes bare blåkopi for variabelen. Slik kan du lage variabler av enum-type.
enum boolsk (falsk, sant); // innvendig funksjon enum boolsk sjekk;
Her enum boolean
opprettes en variabel sjekk av typen .
Her er en annen måte å erklære samme sjekkvariabel ved å bruke annen syntaks.
enum boolsk (falsk, sann) sjekk;
Eksempel 1: Oppregningstype
#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; )
Produksjon
Dag 4
Eksempel2: Endring av standardverdier for Enums
#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; )
Produksjon
Sommer = 4
Hvorfor brukes enums i C ++ programmering?
En enum-variabel tar bare én verdi av mange mulige verdier. Eksempel for å demonstrere det,
#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; )
Produksjon
Størrelse på enum variabel 4 byte.
Det er fordi størrelsen på et helt tall er 4 byte .;
Dette gjør enum til et godt valg å jobbe med flagg.
Du kan utføre den samme oppgaven ved å bruke C ++ strukturer. Å jobbe med enums gir deg imidlertid effektivitet og fleksibilitet.
Hvordan bruke enums for flagg?
La oss ta et eksempel,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Anta at du designer en knapp for Windows-applikasjon. Du kan stille inn flaggene ITALIA, FETT og UNDERSTREKTE for å arbeide med tekst.
Det er en grunn til at alle integrerte konstanter er kraften til 2 ovenfor pseudokode.
// I binær ITALIA = 00000001 FETT = 00000010 UNDERSTREKNING = 00000100
Siden integralkonstantene er kraften til 2, kan du kombinere to eller flere flagg samtidig uten å overlappe ved hjelp av bitvis ELLER | operatør. Dette lar deg velge to eller flere flagg samtidig. For eksempel,
#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; )
Produksjon
5
Når utgangen er 5, vet du alltid at fet og understreket brukes.
Du kan også legge til flagg til dine behov.
hvis (myDesign & ITALICS) (// kode for kursiv)
Her har vi lagt kursiv til designet vårt. Merk, bare kode for kursiv er skrevet inne i if-setningen.
Du kan oppnå nesten hva som helst i C ++ programmering uten å bruke oppføringer. Imidlertid kan de være ganske hendige i visse situasjoner. Det er det som skiller gode programmerere fra flotte programmerere.