Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Тип перерахування enum



При написанні програм часто виникає необхідність визначити декілька іменованих констант, для яких потрібно, щоб всі вони мали різні значення (при цьому конкретні значення можуть бути не важливими). Для цього зручно скористатися типом даних "перерахування" enum (enumeration), всі можливі значення якого задаються списком цілочисельних констант.

Синтаксис:

enum [ ім'я_типу ] { список_констант };

Ім'я типу задається тоді, коли в програмі є необхідність визначати змінні даного типу. Компілятор забезпечує, щоб ці змінні приймали значення тільки із вказаного списку констант.

enum {mRead, mEdit, mWrite, mCreate } Mode;

Цей оператор вводить іменовані константи mRead, mEdit, mWrite і змінну Mode, яка може приймати значення цих констант. В момент оголошення змінна ініціалізується значенням першої константи, в наведеному прикладі - mRead. В подальшому їй можна присвоювати будь-які допустимі значення. Наприклад:

Mode = mCreate;

Значення змінної типу перерахування можна перевіряти, порівнюючи її з можливими значеннями. Крім того, потрібно враховувати, що типи перерахування відносяться до цілих порядкових типів і до них можуть бути застосовані будь-які операції порівняння. Наприклад:

if (Mode>mRead) /* … */;

Змінну Mode можна також використовувати в структурі switch:

switch(Mode)

{

case mRead: /* … */

break;

case mEdit: /* … */

break;

case mWrite: /* … */

break;

case mCreate: /* … */

break;

}

По замовчуванню значення, які вказані в enum, інтерпретуються як цілі числа, причому перше значення рівне 0, друге - 1 і т.д. Значення по замовчанню можна змінити, якщо після імені константи вказати знак рівності і задати ціле значення константи. Наприклад:

enum {mRead = -1, mEdit, mWrite = 2, mCreate } Mode;

Якщо після констант не задане їх ціле значення, воно вважається на 1 більшим, ніж попереднє. Тому для нашого прикладу значення констант такі:

mRead -1
mEdit  
mWrite  
mCreate  




Дата публикования: 2015-01-23; Прочитано: 511 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...