Перечисляемые типы enum

Содержание

Слайд 2

ENUM

Иногда, удобной заменой константам является объявление специального ПЕРЕЧИСЛИМОГО ТИПА, ENUM, который

ENUM Иногда, удобной заменой константам является объявление специального ПЕРЕЧИСЛИМОГО ТИПА, ENUM, который содержит набор перечислимых констант.
содержит набор перечислимых констант.

Слайд 3

ENUM

enum Months {
JAN = 1, FEB, MAR, APR, MAY, YUN,

ENUM enum Months { JAN = 1, FEB, MAR, APR, MAY, YUN,
YUL, AUG, SEP, OCT, NOV, DEC
};
short month;
Months yourMonth;
cin >> month;
yourMonth = (Months)month;
switch (yourMonth) {
case JAN:
cout << "Январь";
break;
case FEB:
cout << "Февраль";
break;
}
cout << endl;

Слайд 4

ENUM

enum Months {
JAN = 1, FEB, MAR, APR, MAY, YUN,

ENUM enum Months { JAN = 1, FEB, MAR, APR, MAY, YUN,
YUL, AUG, SEP, OCT, NOV, DEC
};
short month;
cin >> month;
switch ((Months)month) {
case JAN:
cout << "Январь";
break;
case FEB:
cout << "Февраль";
break;
}
cout << endl;

Слайд 5

ENUM

enum Months {
JAN = 1, FEB, MAR, APR, MAY, YUN,

ENUM enum Months { JAN = 1, FEB, MAR, APR, MAY, YUN,
YUL, AUG, SEP, OCT, NOV, DEC
};
Months yourMonth;
yourMonth = MAR;
switch (yourMonth) {
case JAN:
cout << "Январь";
break;
case FEB:
cout << "Февраль";
break;
}
cout << endl;

Слайд 6

ENUM

enum Months {
JAN = 1, FEB, MAR, APR, MAY, YUN,

ENUM enum Months { JAN = 1, FEB, MAR, APR, MAY, YUN,
YUL, AUG, SEP, OCT, NOV, DEC
};
Months yourMonth;
yourMonth = YUN;
switch (yourMonth) {
case JAN:
cout << "Январь";
break;
case FEB:
cout << "Февраль";
break;
}
cout << endl;

Слайд 7

ENUM

Перечислимый тип вводится ключевым словом enum и задает набор значений, определяемый пользователем.

ENUM Перечислимый тип вводится ключевым словом enum и задает набор значений, определяемый

Набор значений заключается в фигурные скобки и является набором целых именованных констант, представленных своими идентификаторами.
Эти константы называются перечислимыми константами.

Слайд 8

ENUM

enum Months {JAN = 1, FEB, MAR, APR, MAY, YUN, YUL,

ENUM enum Months {JAN = 1, FEB, MAR, APR, MAY, YUN, YUL,
AUG, SEP, OCT, NOV, DEC};
Это объявление создает определенный пользователем тип Months с константами перечисления, представляющими месяцы года.
Поскольку первое значение приведенного перечисления установлено равным 1, оставшиеся значения увеличиваются на 1 от 1 до 12.
В объявлении перечислимого типа любой константе перечисления можно присвоить целое значение.

Слайд 9

ENUM
Типичная ошибка:
После того, как константа перечисления определена, попытка присвоить ей

ENUM Типичная ошибка: После того, как константа перечисления определена, попытка присвоить ей
другое значение является синтаксической ошибкой.

Слайд 10

ENUM

Правила хорошего тона:
Наименование перечислимого типа следует писать прописными буквами, первая

ENUM Правила хорошего тона: Наименование перечислимого типа следует писать прописными буквами, первая
буква пишется заглавной (в отличии от переменных), слова пишутся слитно, разделение слов осуществляется верблюжьим стилем.
Идентификаторы константных значений перечислений пишут ЗАГЛАВНЫМИ буквами, слова разделяются нижней чертой _ как имена констант.
Пример: TestEnum {TEST_NAME = 1, SUPER_TEST = 2}

Слайд 11

Основные моменты перечислений
Использование перечислений вместо целых констант облегчает чтение программы.
Идентификаторы в enum

Основные моменты перечислений Использование перечислений вместо целых констант облегчает чтение программы. Идентификаторы
должны быть уникальными, но отдельные константы перечисления могут иметь одинаковые целые значения.
Константы перечисления могут иметь только целые значения.
Набор идентификаторов перечислимого типа — собственный уникальный тип, отличающийся от других целочисленных типов.

Слайд 12

Основные моменты перечислений

Перечислимые константы могут определяться и инициализироваться произвольными целочисленными константами, а также константными

Основные моменты перечислений Перечислимые константы могут определяться и инициализироваться произвольными целочисленными константами,
выражениями:
enum Ages {MILTON= 47, IRA, GOGA= 56, PHILIP = GOGA + 7};
Каждое перечисление является отдельным типом. Типом элемента перечисления является само перечисление. Например, в
enum Keyword {ASM, AUTO, BREAK};
Значение AUTO принадлежит типу Keyword
Keyword testWord;
Переменная testWord имеет тип Keyword и способна принимать только 3 значения: ASM, AUTO или BREAK; Например:
testWord = ASM;

Слайд 13

Основные моменты перечислений

Перечислимая константа может быть объявлена анонимно, то есть без имени

Основные моменты перечислений Перечислимая константа может быть объявлена анонимно, то есть без
типа.
enum {FALSE, TRUE};
enum {LAZY, HAZY, CRAZY} why;
Первое объявление — распространенный способ объявления мнемонических целочисленных констант.
Второе объявление объявляет переменную перечислимого типа why, с допустимыми значениями этой переменной lazy, hazy и crazy

Слайд 14

Основные моменты перечислений

Перечисления могут неявно преобразовываться в обычные целочисленные типы, но не наоборот.
enum

Основные моменты перечислений Перечисления могут неявно преобразовываться в обычные целочисленные типы, но
Boolean {FALSE, TRUE} q;
enum Signal {OFF, ON} a = ON; // а инициализируется в on enum
int i, j = TRUE; // верно true преобразуется в 1
a = OFF; // верно
і = а; // верно i становится 1
q = а; // неверно два различных типа
q = (Boolean)а; // верно явное преобразование (приведение)

Слайд 15

Спасибо за внимание.

Спасибо за внимание.
Имя файла: Перечисляемые-типы-enum.pptx
Количество просмотров: 41
Количество скачиваний: 0