Enumerazione C ++

In questo articolo imparerai a lavorare con l'enumerazione (enum). Inoltre, imparerai dove le enumerazioni sono comunemente usate nella programmazione C ++.

Un'enumerazione è un tipo di dati definito dall'utente costituito da costanti integrali. Per definire un'enumerazione, viene utilizzata la parola chiave enum .

 stagione enum (primavera, estate, autunno, inverno);

Qui, il nome dell'enumerazione è stagione.

E la primavera, l'estate e l'inverno sono valori di stagione tipo.

Per impostazione predefinita, la primavera è 0, l'estate è 1 e così via. È possibile modificare il valore predefinito di un elemento enum durante la dichiarazione (se necessario).

 enum season (primavera = 0, estate = 4, autunno = 8, inverno = 12);

Dichiarazione di tipo enumerato

Quando crei un tipo enumerato, viene creato solo il blueprint per la variabile. Ecco come puoi creare variabili di tipo enum.

enum boolean (false, true); // all'interno della funzione enum boolean check;

Qui enum booleanviene creato un controllo variabile del tipo .

Ecco un altro modo per dichiarare la stessa variabile di controllo utilizzando una sintassi diversa.

 enum boolean (false, true) check; 

Esempio 1: tipo di enumerazione

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

Produzione

 4 ° giorno

Esempio 2: modifica del valore predefinito di enumerazioni

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

Produzione

 Estate = 4

Perché le enumerazioni vengono utilizzate nella programmazione C ++?

Una variabile enum accetta un solo valore tra molti valori possibili. Esempio per dimostrarlo,

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

Produzione

 Dimensione della variabile enum 4 byte.

È perché la dimensione di un numero intero è di 4 byte .;

Questo rende enum una buona scelta per lavorare con i flag.

Puoi eseguire la stessa operazione utilizzando le strutture C ++. Tuttavia, lavorare con le enumerazioni ti offre efficienza e flessibilità.

Come usare le enumerazioni per le bandiere?

Facciamo un esempio,

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

Supponiamo che tu stia progettando un pulsante per l'applicazione Windows. Puoi impostare i flag ITALICS, BOLD e UNDERLINE per lavorare con il testo.

C'è una ragione per cui tutte le costanti integrali sono potenza di 2 nello pseudocodice sopra.

 // In binario ITALICO = 00000001 GRASSETTO = 00000010 SOTTOLINEATO = 00000100 

Poiché le costanti integrali sono potenza di 2, è possibile combinare due o più flag contemporaneamente senza sovrapporsi utilizzando OR bit per bit | operatore. Ciò ti consente di scegliere due o più flag contemporaneamente. Per esempio,

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

Produzione

 5

Quando l'output è 5, sai sempre che vengono utilizzati grassetto e sottolineato.

Inoltre, puoi aggiungere flag alle tue esigenze.

 if (myDesign & ITALICS) (// code for italics)

Qui abbiamo aggiunto il corsivo al nostro design. Nota, solo il codice per il corsivo è scritto all'interno dell'istruzione if.

Puoi realizzare quasi tutto nella programmazione C ++ senza usare le enumerazioni. Tuttavia, possono essere molto utili in determinate situazioni. Questo è ciò che differenzia i bravi programmatori dai grandi programmatori.

Articoli interessanti...