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