Hva er enumklasser i C ++

Hva er enumklasser i C ++

De Enum -klasse er en funksjon i C ++ som gjør det enkelt for brukere å definere nye datatyper. Enum -klasse, eller oppregning, er en brukerdefinert datatype som består av et sett med navngitte verdier. Disse verdiene er konstante og representerer vanligvis en gruppe relaterte enheter eller utfall.

An Enum -klasse I C ++ er en omfangsbasert oppregning som brukes til å spesifisere settet med potensielle verdier som en variabel kan inneholde. Enkle sett med tilknyttede verdier som ofte brukes som konstanter kan defineres på denne type-sikkerhet. De “Enum -klasse” nøkkelord brukes til å erklære det. De Enum -klasse og enum avviker fra hverandre ved at de er typesikker. De Enum -klasse sammenligner ikke oppregninger fra forskjellige oppregning og gir ikke implisitt konvertering til int.

Syntaks av enumklasse

// erklæring
Enum Class Enumname Value1, Value2, ... Valuen;
// Initialisering
Enumname ObjectName = Enumname :: Verdi;


Enhver integrert type, inkludert int, kort, røye, lang, usignert osv., kan brukes til verdiene.

Eksempel på enumklasse

Her er et eksempel på en Enum -klasse i c++.

#inkludere
enum class color fiolett, gul, svart;
int main ()
Farge c = farge :: svart;
bryter (c)
Case Color :: Svart:
std :: cout << "The color is black\n";
gå i stykker;
Case Color :: Violet:
std :: cout << "The color is violet\n";
gå i stykker;
Case Color :: Gul:
std :: cout << "The color is yellow\n";
gå i stykker;

retur 0;


I eksemplet ovenfor enum klasse "farge" er definert. Det kan ta en av tre potensielle verdier: fiolett, gul og svart. Dette er en scoped oppregning, som indikert av “Enum -klasse” nøkkelord, noe som betyr at verdiene bare er tilgjengelige i "Farge" navneområde.

Vi erklærer en variabel av typen “C” av fargen "Farge" og initialiser det til "Farge svart" I hovedfunksjonen. Da, basert på verdien av “C”, Vi skriver ut en melding ved hjelp av en bytte om uttalelse. Vi må bruke "Farge::" prefiks for å få tilgang til verdiene til "Farge", som er en scoped oppregling.

Produksjon



De Enum -klasse har følgende fordeler på C ++ språk.

1: Global navneområde Forurensning

Enum -klasse begrenser omfanget av de oppregnet verdiene. I kontrast, vanlig Enums Forurure det globale navneområdet, noe som gjør det vanskelig å skille mellom to forskjellige typer oppregning i forskjellige omfang.

2: Type sikkerhet

De Enum -klasse er mer typesikkert enn vanlig Enums, som kan føre til subtile feil. En oppregnet verdi i en Enum -klasse blir ikke implisitt konvertert til et heltall. Det forblir som definert, og å bruke en annen verdi som ikke er innenfor det for øyeblikket definerte området vil resultere i en kompileringstidsfeil.

3: Lesbarhet

An Enum -klasse Gir en mer lesbar syntaks, da det krever konstante verdier for å være kvalifisert med oppregningen. Det er lettere å lese og forstå hvilken oppregning som brukes i koden. Det er enklere å autofullføre og forhindre stavefeil når du bruker en IDE som kan identifisere settet med oppregere erklært i en Enum -klasse. Sammenlignet med å bruke konvensjonelle konstanter, er syntaksen for tilgang til en spesifikk oppregler også mer enkel og eksplisitt.

4: Sterkt skrevet

De Enum -klasse garanterer at verdiene den har er av samme type. Det forhindrer å sammenligne eller tildele verdier fra forskjellige enumtyper ved en feiltakelse.

5: Definer den underliggende typen

Du kan definere enumens underliggende type mens du definerer en Enum -klasse. Når du ønsker å lagre samlingen av tellere som en viss datatype, er dette nyttig. For eksempel kan du velge "int" som den underliggende typen av enum hvis du ønsker å lagre samlingen av tallerkener som et heltall. Likevel, ettersom den tilbyr overlegen type sikkerhet og forhindrer uventet oppførsel, anbefales det å bruke et usignert heltall som den underliggende typen.

6: Innkapsling

Muligheten til bedre å innkapsling av dataene er en av Enum Classes Sentrale egenskaper. Dette resulterer i en mer strukturert og forståelig kode siden de oppregnet verdiene bare er tilgjengelige i den deklarerte klassen. Dessuten forbedrer det sikkerhetssikkerhet og eliminerer misforståelser mellom forskjellige oppregere.

Konklusjon

De Enum -klasse I C ++ er en essensiell funksjon som gir større kontroll og klarhet i å definere nye datatyper. Med sin enkle syntaks og typesikker natur er det en anbefalt praksis å bruke Enum -klasser I C ++ når du trenger å definere et sett med relaterte konstanter. Det gjør ikke bare koden din mer organisert og lesbar, men den forbedrer også ytelsen og sikkerheten til programmet ditt.