C ++ uzskaitījums

Š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 booleantiek 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.

Interesanti raksti...