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.