Ц ++ набрајање

У овом чланку ћете научити да радите са набрајањем (енум). Такође ћете научити где се енуми често користе у програмирању на Ц ++.

Набрајање је кориснички дефинисани тип података који се састоји од интегралних константи. За дефинисање набрајања користи се кључна реч енум .

 сезона пописа (пролеће, лето, јесен, зима);

Овде је назив пописа сезона.

А, пролеће, лето и зима су вредности типа сезоне.

Подразумевано је пролеће 0, лето 1 и тако даље. Можете променити подразумевану вредност елемента набрајања током декларације (ако је потребно).

 сезона пописа (пролеће = 0, лето = 4, јесен = 8, зима = 12);

Декларација набројаног типа

Када креирате набројани тип, креира се само нацрт за променљиву. Ево како можете креирати променљиве енум типа.

енум боолеан (нетачно, тачно); // унутар функције енум боолеан цхецк;

Овде enum booleanсе креира променљива провера типа .

Ево још једног начина за декларисање исте променљиве за проверу користећи другу синтаксу.

 енум боолеан (фалсе, труе) провера; 

Пример 1: Тип набрајања

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

Оутпут

 4. дан

Пример2: Промена подразумеване вредности енума

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

Оутпут

 Лето = 4

Зашто се енуми користе у програмирању на Ц ++?

Енум променљива узима само једну вредност од многих могућих вредности. Пример за демонстрацију,

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

Оутпут

 Величина набројане променљиве 4 бајта.

То је зато што је величина целог броја 4 бајта .;

Ово чини енум добрим избором за рад са заставама.

Исти задатак можете остварити користећи Ц ++ структуре. Међутим, рад са енумима даје вам ефикасност уз флексибилност.

Како користити енуме за заставе?

Узмимо пример,

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

Претпоставимо да дизајнирате дугме за Виндовс апликацију. Можете поставити заставице ИТАЛИЦС, БОЛД и УНДЕРЛИНЕ за рад са текстом.

Постоји разлог зашто су све интегралне константе потенција 2 у горе наведеном псеудокоду.

 // У бинарном облику ИТАЛИЦС = 00000001 БОЛД = 00000010 УНДЕРЛИНЕ = 00000100 

Будући да су интегралне константе снага 2, можете комбиновати две или више заставица одједном без преклапања користећи битни ИЛИ | оператер. То вам омогућава да одаберете две или више заставица одједном. На пример,

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

Оутпут

 5

Када је излаз 5, увек знате да се користи подебљано и подвучено.

Такође, својим ознакама можете додати заставицу.

 иф (миДесигн & ИТАЛИЦС) (// код за курзив)

Овде смо нашем дизајну додали курзив. Напомена, само иф за курзив је написан унутар наредбе иф.

У програмирању на Ц ++ можете постићи готово све без употребе набрајања. Међутим, они могу бити прилично згодни у одређеним ситуацијама. То је оно што разликује добре програмере од сјајних програмера.

Занимљиви Чланци...