Enumerare C ++

În acest articol, veți învăța să lucrați cu enumerarea (enum). De asemenea, veți afla unde sunt folosite în mod obișnuit enumerările în programarea C ++.

O enumerare este un tip de date definit de utilizator care constă din constante integrale. Pentru a defini o enumerare, se utilizează cuvântul cheie enum .

 sezonul enum (primăvară, vară, toamnă, iarnă);

Aici, numele enumerării este sezon.

Și, primăvara, vara și iarna sunt valori ale sezonului tip.

În mod implicit, primăvara este 0, vara este 1 și așa mai departe. Puteți modifica valoarea implicită a unui element enum în timpul declarației (dacă este necesar).

 sezonul enum (primăvara = 0, vara = 4, toamna = 8, iarna = 12);

Declarație de tip enumerată

Când creați un tip enumerat, se creează doar schema pentru variabilă. Iată cum puteți crea variabile de tip enum.

enum boolean (fals, adevărat); // în interiorul funcției enum verificare booleană;

Aici enum booleanse creează o verificare variabilă de tip .

Iată un alt mod de a declara aceeași variabilă de verificare folosind o sintaxă diferită.

 enum boolean (false, true) verificare; 

Exemplul 1: tip de enumerare

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

Ieșire

 Ziua 4

Exemplul 2: Modificarea valorii implicite a sumelor

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

Ieșire

 Vara = 4

De ce sunt folosite enumurile în programarea C ++?

O variabilă enum ia o singură valoare din multe valori posibile. Exemplu pentru a-l demonstra,

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

Ieșire

 Dimensiunea variabilei enum 4 octeți.

Acest lucru se datorează faptului că dimensiunea unui număr întreg este de 4 octeți .;

Acest lucru face din enum o alegere bună pentru a lucra cu steaguri.

Puteți realiza aceeași sarcină folosind structuri C ++. Cu toate acestea, lucrul cu enumeri vă oferă eficiență și flexibilitate.

Cum se utilizează enumere pentru steaguri?

Să luăm un exemplu,

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

Să presupunem că proiectați un buton pentru aplicația Windows. Puteți seta steaguri ITALICS, BOLD și UNDERLINE pentru a lucra cu text.

Există un motiv pentru care toate constantele integrale sunt puterea de 2 în pseudocodul de mai sus.

 // În binar ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Deoarece, constantele integrale sunt puterea de 2, puteți combina două sau mai multe semnalizatoare simultan fără suprapunere folosind OR bit | operator. Acest lucru vă permite să alegeți două sau mai multe steaguri simultan. De exemplu,

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

Ieșire

 5

Când ieșirea este 5, știți întotdeauna că se utilizează caractere aldine și subliniate.

De asemenea, puteți adăuga steagul la cerințele dvs.

 if (myDesign & ITALICS) (// cod pentru cursiv)

Aici, am adăugat cursiv la designul nostru. Notă, numai codul pentru cursiv este scris în instrucțiunea if.

Puteți realiza aproape orice în programarea C ++ fără a utiliza enumerări. Cu toate acestea, pot fi destul de la îndemână în anumite situații. Asta diferențiază programatorii buni de programatorii extraordinari.

Articole interesante...