Šiame straipsnyje jūs išmoksite dirbti su išvardijimu (enum). Be to, sužinosite, kur „C ++“ programose dažniausiai naudojamos „enums“.
Surašymas yra vartotojo apibrėžtas duomenų tipas, kurį sudaro vientisos konstantos. Apibūdinimui apibrėžti naudojamas raktinis žodis enum .
enum sezonas (pavasaris, vasara, ruduo, žiema);
Čia išvardijimo pavadinimas yra sezonas.
Pavasaris, vasara ir žiema yra tipo sezono vertybės.
Pagal numatytuosius nustatymus pavasaris yra 0, vasara yra 1 ir pan. Deklaravimo metu galite pakeisti numatytąją „enum“ elemento vertę (jei reikia).
enum sezonas (pavasaris = 0, vasara = 4, ruduo = 8, žiema = 12);
Surašyta tipo deklaracija
Kai kuriate išvardytą tipą, sukuriamas tik kintamojo projektas. Štai kaip galite sukurti enum tipo kintamuosius.
enum loginis (klaidingas, tikras); // inside function enum boolean check;
Čia sukuriamas kintamasis tipo patikrinimas enum boolean
.
Čia yra dar vienas būdas deklaruoti tą patį tikrinimo kintamąjį naudojant skirtingą sintaksę.
enum loginis (klaidingas, tikras) patikrinimas;
1 pavyzdys: Surašymo tipas
#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; )
Rezultatas
4 diena
2 pavyzdys: Numatytosios „Enums“ vertės keitimas
#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; )
Rezultatas
Vasara = 4
Kodėl programuojant C ++ naudojamos „enums“?
„Enum“ kintamasis iš daugelio galimų reikšmių ima tik vieną vertę. Pavyzdys tai parodyti,
#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; )
Rezultatas
4 baitų kintamojo dydis.
Taip yra todėl, kad sveiko skaičiaus dydis yra 4 baitai.;
Dėl to enumas yra geras pasirinkimas dirbti su vėliavomis.
Tą pačią užduotį galite atlikti naudodami C ++ struktūras. Tačiau darbas su „enums“ suteikia jums efektyvumo ir lankstumo.
Kaip naudoti vėliavų sąskaitas?
Paimkime pavyzdį,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Tarkime, kad kuriate mygtuką „Windows“ programai. Galite nustatyti žymes „ITALICS“, „BOLD“ ir „Underline“, kad jos dirbtų su tekstu.
Yra priežastis, kodėl visos integralinės konstantos yra 2 galia aukščiau esančiame pseudokode.
// Dvejetainiais dažais ITALICS = 00000001 BOLD = 00000010 POŽYMIS = 00000100
Kadangi integralinės konstantos yra 2 galia, galite sujungti dvi ar daugiau žymių vienu metu, nepersidengdami, naudodami bitų kryptį ARBA | operatorius. Tai leidžia jums pasirinkti dvi ar daugiau vėliavų vienu metu. Pavyzdžiui,
#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; )
Rezultatas
5
Kai išvestis yra 5, visada žinote, kad naudojama paryškinta ir pabraukta.
Be to, prie savo reikalavimų galite pridėti žymėjimą.
if („myDesign & ITALICS“) (// kursyvo kodas)
Čia mes įtraukėme kursyvą į savo dizainą. Atkreipkite dėmesį, kad teiginyje „if“ rašomas tik kursyvo kodas.
C ++ programavime galite beveik viską atlikti nenaudodami išvardijimų. Tačiau tam tikrose situacijose jie gali būti gana patogu. Tai ir skiria gerus programuotojus nuo puikių programuotojų.