I den här artikeln lär du dig att arbeta med uppräkning (enum). Du kommer också att lära dig var enum ofta används i C ++ programmering.
En uppräkning är en användardefinierad datatyp som består av integrerade konstanter. För att definiera en uppräkning används nyckelordet enum .
enumsäsong (vår, sommar, höst, vinter);
Här är namnet på uppräkningen säsong.
Och vår, sommar och vinter är värden för typsäsongen.
Som standard är våren 0, sommaren är 1 och så vidare. Du kan ändra standardvärdet för ett enum-element under deklarationen (om det behövs).
enumsäsong (vår = 0, sommar = 4, höst = 8, vinter = 12);
Uppräknad typdeklaration
När du skapar en uppräknad typ skapas endast en ritning för variabeln. Så här kan du skapa variabler av enumtyp.
enum boolean (falskt, sant); // inuti funktion enum boolesk kontroll;
Här enum boolean
skapas en variabelkontroll av typen .
Här är ett annat sätt att deklarera samma kontrollvariabel med olika syntax.
enum boolean (false, true) check;
Exempel 1: Uppräkningstyp
#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
Exempel2: Ändring av standardvärden för 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
Sommar = 4
Varför används enums i C ++ programmering?
En enum-variabel tar bara ett värde av många möjliga värden. Exempel för att demonstrera 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
Storleken på enum variabel 4 byte.
Det beror på att storleken på ett heltal är 4 byte .;
Detta gör enum till ett bra val att arbeta med flaggor.
Du kan utföra samma uppgift med C ++ strukturer. Att arbeta med enums ger dig dock effektivitet och flexibilitet.
Hur använder jag enums för flaggor?
Låt oss ta ett exempel,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Antag att du utformar en knapp för Windows-applikationen. Du kan ställa in flaggor ITALIEN, FETT och UNDERSTREP för att arbeta med text.
Det finns en anledning till varför alla integralkonstanter är kraften 2 ovanför pseudokoden.
// I binärt ITALIK = 00000001 FETT = 00000010 UNDERSTREP = 00000100
Eftersom de integrerade konstanterna är kraften på 2 kan du kombinera två eller flera flaggor samtidigt utan att överlappa med bitvis ELLER | operatör. Detta gör att du kan välja två eller flera flaggor samtidigt. Till exempel,
#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 utdata är 5 vet du alltid att fetstil och understrykning används.
Du kan också lägga till flagga till dina krav.
if (myDesign & ITALICS) (// kod för kursiv)
Här har vi lagt kursiv stil till vår design. Observera att endast kod för kursiv skrivs inuti if-uttalandet.
Du kan åstadkomma nästan vad som helst i C ++ programmering utan att använda uppräkningar. De kan dock vara ganska praktiska i vissa situationer. Det är det som skiljer bra programmerare från stora programmerare.