C ++ nabrajanje

U ovom ćete članku naučiti raditi s nabrajanjem (enum). Također, naučit ćete gdje se enumi često koriste u programiranju na C ++.

Nabrajanje je korisnički definirani tip podataka koji se sastoji od integralnih konstanti. Za definiranje nabrajanja koristi se ključna riječ enum .

 sezona popisa (proljeće, ljeto, jesen, zima);

Ovdje je naziv popisa sezona.

A, proljeće, ljeto i zima vrijednosti su vrste sezone.

Prema zadanim postavkama, proljeće je 0, ljeto 1 i tako dalje. Možete promijeniti zadanu vrijednost enum elementa tijekom deklaracije (ako je potrebno).

 sezona popisa (proljeće = 0, ljeto = 4, jesen = 8, zima = 12);

Izjava o pobrojanom tipu

Kada kreirate nabrojani tip, stvara se samo nacrt za varijablu. Evo kako možete stvoriti varijable enum tipa.

enum boolean (false, true); // unutar funkcije enum boolean check;

Ovdje se stvara provjera varijable tipa enum boolean.

Evo još jednog načina za deklariranje iste varijable provjere koristeći drugu sintaksu.

 enum boolean (false, true) provjera; 

Primjer 1: Tip nabrajanja

 #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; ) 

Izlaz

 4. dan

Primjer2: Promjena zadane vrijednosti nabrajanja

 #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; )

Izlaz

 Ljeto = 4

Zašto se enumi koriste u programiranju na C ++?

Enum varijabla uzima samo jednu vrijednost od mnogih mogućih vrijednosti. Primjer za demonstraciju,

 #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; ) 

Izlaz

 Veličina nabrojane varijable 4 bajta.

To je zato što je veličina cijelog broja 4 bajta .;

To čini enum dobrim izborom za rad sa zastavicama.

Isti zadatak možete ostvariti pomoću struktura C ++. Međutim, rad s enumima daje vam učinkovitost uz fleksibilnost.

Kako koristiti enume za zastave?

Uzmimo primjer,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Pretpostavimo da dizajnirate gumb za Windows aplikaciju. Za rad s tekstom možete postaviti zastavice ITALICS, BOLD i UNDERLINE.

Postoji razlog zašto su sve integralne konstante snage 2 u gore navedenom pseudokodu.

 // U binarnom ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Budući da su integralne konstante snage 2, možete kombinirati dvije ili više zastavica odjednom bez preklapanja koristeći bitni ILI | operater. To vam omogućuje odabir dvije ili više zastavica odjednom. Na primjer,

 #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; ) 

Izlaz

 5

Kad je izlaz 5, uvijek znate da se koristi podebljano i podcrtano.

Također, svojim oznakama možete dodati zastavicu.

 if (myDesign & ITALICS) (// kod za kurziv)

Ovdje smo našem dizajnu dodali kurziv. Napomena, samo if za kurziv napisan je unutar if naredbe.

U programiranju na C ++ možete postići gotovo sve bez korištenja nabrajanja. Međutim, mogu biti prilično zgodni u određenim situacijama. To je ono što razlikuje dobre programere od izvrsnih programera.

Zanimljivi članci...