enum Hafta {dush, sesh, chor, paysh, juma, shanba, yaksh}; Санаб ўтилувчи ўзгармаслар қуйидаги хоссага эга: агар ўзгармас қиймати кўрсатилмаган бўлса, у олдинги ўзгармас қийматидан биттага ортиқ бўлади. Келишув бўйича биринчи ўзгармас қиймати 0 бўлади. Инициализация ёрдамида ўзгармас қийматини ўзгартириш мумкин: Санаб ўтилувчи ўзгармаслар қуйидаги хоссага эга: агар ўзгармас қиймати кўрсатилмаган бўлса, у олдинги ўзгармас қийматидан биттага ортиқ бўлади. Келишув бўйича биринчи ўзгармас қиймати 0 бўлади. Инициализация ёрдамида ўзгармас қийматини ўзгартириш мумкин: enum Hafta {dush=8, sesh, chor=12, paysh=13, juma=16, shanba, yaksh=20}; Бу эълонда сеш қиймати 9, шанба эса 17 га тенг бўлади. Санаб ўтилувчи ўзгармасларнинг номлари ҳар хил бўлиши керак, лекин уларнинг қийматлари бир хил бўлиши мумкин: enum{nol=0, toza=0, bir, ikki, juft=2, uсh}; Ўзгармаснинг қиймати ифода кўринишда берилиши мумкин, фақат ифодадаги номларнинг қийматлари шу қадамдагача аниқланган бўлиши керак: enum {ikki=2,turt=ikki*2}; Ўзгармасни қийматлари манфий сон бўлиши хам мумкин: enum {ikki=2,turt=ikki*2}; 16.2. Санаб ўтилувчи тур устида амаллар бажариш. 16.2. Санаб ўтилувчи тур устида амаллар бажариш. Шуни айтиб ўтиш лозимки санаб ўтилувчи турлар устида қуйидаги арифметик амаллар бажариб бўлмайди. Қуйидаги мисолда кўрайлик: mySport = popularSport + 2; //xatolik popularSport = FOOTBALL + SOCCER; //xatolik popularSport = popularSport * 2; // xatolik Шунингдек инкремент ва декремент амаллари ҳам бажариб бўлмайди. popularSport++; //xatolik popularSport––; //xatolik Агар popularSport ўзгарувчисининг қийматини 1 га оширмоқчи бўлсак, cаст операторидан фойдаланишимиз мумкин. Қуйидаги мисолда келтирилган: popularSport = static_cast(popularSport + 1); Агар ўзгарувчига қиймат юкланган бўлса ва унинг қийматини 1 га оширсак, комплиятор бу ўзгарувчига санаб ўтилувчи тур қабул қилиши мумкин бўлган қийматлар ичидан ўзи қабул қилган қийматдан кейинг қийматни юклайди.
Do'stlaringiz bilan baham: |