Šajā rakstā jūs iemācīsities strādāt ar uzskaitījumu (enum). Jūs arī uzzināsiet, kur C ++ programmēšanā parasti tiek izmantoti enumi.
Uzskaitījums ir lietotāja definēts datu tips, kas sastāv no integrālām konstantēm. Lai definētu uzskaitījumu, tiek izmantots atslēgvārds enum .
enum sezona (pavasaris, vasara, rudens, ziema);
Šeit uzskaitījuma nosaukums ir sezona.
Un pavasaris, vasara un ziema ir tipa sezonas vērtības.
Pēc noklusējuma pavasaris ir 0, vasara ir 1 un tā tālāk. Deklarēšanas laikā varat mainīt uzskaites elementa noklusējuma vērtību (ja nepieciešams).
uzskaites sezona (pavasaris = 0, vasara = 4, rudens = 8, ziema = 12);
Uzskaitītā tipa deklarācija
Veidojot uzskaitītu tipu, tiek izveidots tikai mainīgā projekts. Lūk, kā jūs varat izveidot enum tipa mainīgos.
enum būla (nepatiesa, patiesa); // iekšējā funkcija enum būla pārbaude;
Šeit enum boolean
tiek izveidota mainīga tipa pārbaude .
Šeit ir vēl viens veids, kā deklarēt to pašu pārbaudes mainīgo, izmantojot dažādu sintaksi.
enum būla (nepatiesa, patiesa) pārbaude;
1. piemērs: uzskaitījuma veids
#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; )
Rezultāts
4. diena
2. piemērs: Enumu noklusējuma vērtības mainīšana
#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; )
Rezultāts
Vasara = 4
Kāpēc C ++ programmēšanā tiek izmantoti enumi?
Enum mainīgais no daudzām iespējamām vērtībām ņem tikai vienu vērtību. Piemērs, lai to parādītu,
#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; )
Rezultāts
Enum mainīgā lieluma lielums 4 baiti.
Tas ir tāpēc, ka vesela skaitļa lielums ir 4 baiti.;
Tas padara enum labu izvēli darbam ar karodziņiem.
Jūs varat paveikt to pašu uzdevumu, izmantojot C ++ struktūras. Tomēr darbs ar enums dod jums efektivitāti un elastību.
Kā karodziņiem izmantot enumus?
Ņemsim piemēru,
enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button;
Pieņemsim, ka jūs veidojat pogu Windows lietojumprogrammai. Varat iestatīt karodziņus ITALICS, BOLD un Underline, lai tie darbotos ar tekstu.
Ir iemesls, kāpēc visas integrālās konstantes ir pseudokoda 2 jauda.
// Binārā ITALICS = 00000001 DROŠI = 00000010 PAMATOJUMS = 00000100
Tā kā neatņemamās konstantes ir 2 jauda, jūs varat apvienot divus vai vairākus karodziņus vienlaikus, nepārklājot, izmantojot bitu bitu OR | operators. Tas ļauj jums izvēlēties divus vai vairākus karodziņus vienlaikus. Piemēram,
#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; )
Rezultāts
5
Kad izeja ir 5, jūs vienmēr zināt, ka tiek izmantots treknrakstā un pasvītrojums.
Varat arī pievienot karodziņu savām prasībām.
ja (myDesign & ITALICS) (// kursīvā kods)
Šeit mēs esam pievienojuši slīprakstu mūsu dizainam. Ņemiet vērā, ka priekšrakstā if ir rakstīts tikai kursīva kods.
C ++ programmēšanā jūs varat paveikt gandrīz visu, neizmantojot uzskaitījumus. Tomēr noteiktās situācijās tie var būt diezgan ērti. Tas atšķir labu programmētāju no lieliskiem programmētājiem.