Selles artiklis õpid loendamisega (loendiga) töötama. Samuti saate teada, kus C ++ programmeerimisel enume kasutatakse.
Loend on kasutaja määratletud andmetüüp, mis koosneb terviklikest konstantidest. Loendi määratlemiseks kasutatakse märksõna enum .
loendushooaeg (kevad, suvi, sügis, talv);
Siin on loenduse nimeks hooaeg.
Ja kevad, suvi ja talv on tüübihooaja väärtused.
Vaikimisi on kevad 0, suvi 1 ja nii edasi. Deklareerimise ajal saate loendielemendi vaikeväärtust muuta (vajadusel).
loendushooaeg (kevad = 0, suvi = 4, sügis = 8, talv = 12);
Loendatud tüübideklaratsioon
Kui loote loendatud tüübi, luuakse ainult muutuja plaan. Siit saate teada, kuidas luua loenditüüpi muutujaid.
enum boolean (vale, tõene); // sisemine funktsioon enum boolean check;
Siin luuakse tüübi muutuv kontroll enum boolean
.
Siin on veel üks viis sama kontrollmuutuja deklareerimiseks erineva süntaksiga.
enum boolean (vale, tõene) kontroll;
Näide 1: loenduse tüüp
#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; )
Väljund
4. päev
Näide2: Enumsi vaikeväärtuse muutmine
#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; )
Väljund
Suvi = 4
Miks C ++ programmeerimisel kasutatakse enume?
Enum muutuja võtab paljudest võimalikest väärtustest ainult ühe väärtuse. Näide selle demonstreerimiseks,
#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; )
Väljund
Loendi muutuja suurus 4 baiti.
Sellepärast, et täisarv on 4 baiti;
See teeb enumile hea valiku lipudega töötamiseks.
Sama ülesande saate täita C ++ struktuuride abil. Enums'iga töötamine annab aga tõhususe ja paindlikkuse.
Kuidas kasutada lippe lippude jaoks?
Võtame näite,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Oletame, et kujundate Windowsi rakenduse jaoks nuppu. Tekstiga töötamiseks saate määrata lipud ITALICS, BOLD ja UNDERLINE.
On üks põhjus, miks kõik integraalsed konstandid on ülaltoodud pseudokoodi väärtused 2.
// Binaarses vormis ITALICS = 00000001 BOLD = 00000010 ALAJoon = 00000100
Kuna integraalkonstandid on 2 võimsus, saate bitipõhise VÕI | abil kombineerida kaks või enam lippu korraga kattumata. operaator. See võimaldab teil valida kaks või enam lippu korraga. Näiteks,
#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; )
Väljund
5
Kui väljund on 5, teate alati, et kasutatakse rasva ja allajoonimist.
Samuti saate oma nõuetele lisada lipu.
if (myDesign & ITALICS) (// kursiivikood)
Siin oleme lisanud oma kujundusele kursiivi. Pange tähele, et if-lause sees on kirjutatud ainult kursiivikood.
C ++ programmeerimisel saate peaaegu kõike teha ilma loendeid kasutamata. Kuid need võivad teatud olukordades olla üsna käepärased. See eristab häid programmeerijaid suurtest programmeerijatest.