C ++ optælling

I denne artikel lærer du at arbejde med enumeration (enum). Du vil også lære, hvor enums ofte bruges i C ++ programmering.

En optælling er en brugerdefineret datatype, der består af integrerede konstanter. For at definere en optælling bruges nøgleordet enum .

 enum sæson (forår, sommer, efterår, vinter);

Her er opregningens navn sæson.

Og forår, sommer og vinter er værdier af typen sæson.

Som standard er foråret 0, sommeren er 1 og så videre. Du kan ændre standardværdien af ​​et enum-element under erklæringen (om nødvendigt).

 enum sæson (forår = 0, sommer = 4, efterår = 8, vinter = 12);

Opregnet typedeklaration

Når du opretter en opregnet type, oprettes kun blueprint for variablen. Her er hvordan du kan oprette variabler af enumtype.

enum boolean (falsk, sand); // indvendig funktion enum boolsk kontrol;

Her enum booleanoprettes en variabel kontrol af typen .

Her er en anden måde at erklære den samme kontrolvariabel ved hjælp af anden syntaks.

 enum boolsk (falsk, sand) check; 

Eksempel 1: Optællingstype

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

Produktion

 Dag 4

Eksempel 2: Ændring af standardværdier 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; )

Produktion

 Sommer = 4

Hvorfor bruges enums i C ++ programmering?

En enum-variabel tager kun en værdi ud af mange mulige værdier. Eksempel for at 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; ) 

Produktion

 Størrelse på enum variabel 4 bytes.

Det skyldes, at størrelsen på et heltal er 4 bytes .;

Dette gør enum til et godt valg at arbejde med flag.

Du kan udføre den samme opgave ved hjælp af C ++ strukturer. At arbejde med enums giver dig dog effektivitet sammen med fleksibilitet.

Hvordan bruges enums til flag?

Lad os tage et eksempel,

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

Antag at du designer en knap til Windows-applikation. Du kan indstille flag ITALIA, BOLD og UNDERSTREG til at arbejde med tekst.

Der er en grund til, at alle de integrerede konstanter er magt 2 i ovenstående pseudokode.

 // I binær ITALIK = 00000001 FOLD = 00000010 UNDERSTREGNING = 00000100 

Da de integrerede konstanter er magt på 2, kan du kombinere to eller flere flag på én gang uden at overlappe ved hjælp af bitvis ELLER | operatør. Dette giver dig mulighed for at vælge to eller flere flag på én gang. 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; ) 

Produktion

 5

Når output er 5, ved du altid, at der bruges fed og understregning.

Du kan også tilføje flag til dine krav.

 hvis (myDesign & ITALICS) (// kode til kursiv)

Her har vi tilføjet kursiv til vores design. Bemærk, kun kode for kursiv er skrevet inde i if-sætningen.

Du kan opnå næsten alt i C ++ programmering uden at bruge enumerationer. De kan dog være ret praktiske i visse situationer. Det er det, der adskiller gode programmører fra store programmører.

Interessante artikler...