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