Quali sono le classi enum in C ++

Quali sono le classi enum in C ++

IL classe enum è una caratteristica di C ++ che rende semplice per gli utenti definire nuovi tipi di dati. Classe enum, o enumerazione, è un tipo di dati definito dall'utente che consiste in un insieme di valori nominati. Questi valori sono costanti e in genere rappresentano un gruppo di entità o risultati correlati.

UN classe enum In C ++ è un'enumerazione basata sull'ambito che viene utilizzata per specificare l'insieme di potenziali valori che una variabile può contenere. Set semplici di valori associati che vengono spesso utilizzati come costanti possono essere definiti in questo modo. IL "ENUM CLASS" La parola chiave viene utilizzata per dichiararla. IL classe enum ed enum differisce l'uno dall'altro in quanto sono sicuri. IL classe enum non confronta gli enumeratori di varie enumerazioni e non fornisce una conversione implicita in int.

Sintassi della classe enum

// Dichiarazione
ENUM CLASS ENGNAME Value1, Value2, ... Valuen;
// Inizializzazione
ObjectName Object = ENGNAME :: Value;


Qualsiasi tipo integrale, tra cui int, corto, carbone, lungo, non firmato, ecc., può essere usato per i valori.

Esempio di classe enum

Ecco un esempio di un classe enum in c++.

#includere
ENUM Class Color Violet, Yellow, Black;
int main ()
Color C = Color :: Black;
switch (c)
Case Color :: Black:
std :: cout << "The color is black\n";
rottura;
Caso Colore :: Violet:
std :: cout << "The color is violet\n";
rottura;
Caso Colore :: Yellow:
std :: cout << "The color is yellow\n";
rottura;

restituzione 0;


Nell'esempio sopra, il enum classe "colore" è stata definita. Può richiedere uno dei tre potenziali valori: viola, giallo e nero. Questo è un enumerazione con ambito, come indicato dal "ENUM CLASS" parola chiave, il che significa che i valori sono disponibili solo all'interno del "Colore" spazio dei nomi.

Dichiariamo una variabile di tipo "C" del colore "Colore" e inizializzalo "Colore nero" Nella funzione principale. Quindi, in base al valore di "C", Stampiamo un messaggio usando un file interruttore dichiarazione. Dobbiamo usare il "Colore::" prefisso per accedere ai valori di "Colore", che è un'enumerazione ammessa.

Produzione



IL classe enum ha i seguenti vantaggi nella lingua C ++.

1: inquinamento dello spazio dei nomi globali

Classe enum limita l'ambito dei valori elencati. Al contrario, regolare enums inquinamento dello spazio dei nomi globali, rendendo difficile distinguere tra due diversi tipi di enumerazione in diversi ambiti.

2: tipo sicurezza

IL classe enum è più sicuro di tipo che normale enums, che può portare a bug sottili. Un valore elencato in un classe enum non è implicitamente convertito in un numero intero. Rimane come definito e l'utilizzo di un valore diverso che non rientra nell'intervallo attualmente definito comporterà un errore a tempo di compilazione.

3: leggibilità

UN classe enum fornisce una sintassi più leggibile in quanto richiede che i valori costanti siano qualificati con il tipo di enumerazione. È più facile leggere e capire quale enumerazione viene utilizzata nel codice. È più semplice completare automaticamente e prevenire errori di ortografia quando si utilizza un IDE in grado di identificare l'insieme di enumeratori dichiarati in un classe enum. Rispetto all'utilizzo delle costanti convenzionali, la sintassi per l'accesso a un enumeratore specifico è anche più semplice ed esplicita.

4: fortemente digitato

IL classe enum garantisce che i valori che contiene siano dello stesso tipo. Impedisce di confrontare o assegnare valori da diversi tipi di enum per errore.

5: Definire il tipo sottostante

Puoi definire il tipo sottostante di ENUM durante la definizione di un classe enum. Quando si desidera salvare la raccolta di enumeratori come un determinato tipo di dati, questo è utile. Ad esempio, è possibile scegliere "int" come tipo sottostante di enum se si desidera salvare la raccolta di enumeratori come intero. Tuttavia, poiché offre una sicurezza di tipo superiore e impedisce qualsiasi comportamento inaspettato, si consiglia di utilizzare un numero intero non firmato come tipo sottostante.

6: incapsulamento

La capacità di incapsulare meglio i dati è uno dei Enum Class's Caratteristiche chiave. Ciò si traduce in un codice più strutturato e comprensibile poiché i valori elencati sono disponibili solo all'interno della classe dichiarata. Inoltre, migliora la sicurezza del tipo ed elimina i malintesi tra vari enumeratori.

Conclusione

IL classe enum In C ++ è una caratteristica essenziale che fornisce un maggiore controllo e chiarezza nella definizione di nuovi tipi di dati. Con la sua semplice sintassi e natura-tipo-sicuro, è una pratica consigliata da usare classi enum In C ++ ogni volta che è necessario definire una serie di costanti correlate. Non solo rende il tuo codice più organizzato e leggibile, ma migliora anche le prestazioni e la sicurezza del tuo programma.