Î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 boolean
se 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.