Язык С++ и программирование на нем. Рейзлин В.И. - 75 стр.

UptoLike

Составители: 

77
enum operator_CPP{plus=’+’, minus=’-’, mult=’*, div=’/’,
rem=’%’};
Члены перечислений являются константами типов unsigned char
или int, в зависимости от их значений и режима компиляции. При ис-
пользовании перечислителя в выражении его тип всегда преобразуется в
int.
Если перечислителям явно не присвоено никакого значения, как в
chess и mouth, то первый из них получает значение 0, второй 1, и т.д.
Вообще, любой перечислитель по умолчанию имеет значение, на 1 пре-
вышающее значение предыдущего, если умолчание не отменяется явной
инициализацией.
Все члены перечисления operator_CPP получают явно указанные
значения, равные ASCIIкодам символов ‘+’, ‘-’, ‘*’, ‘/’, ‘%’.
Значения перечислителей вычисляются на стадии компиляции,
поэтому при задании их значений можно использовать значения всех
ранее определенных констант. При этом допускается, чтобы несколько
перечислителей имели одно и то же значение:
const TWO = 2;
enum {first, second=first, next=first+TWO, last
=next*next+1}dummy;
Отметим, что в последнем случае не вводится тег перечисления, а
сразу описывается переменная dummy, которая в соответствии с шаб-
лоном перечисления может принимать одно из четырех значений:
first, second, next, last.
Следовательно, возможны присваивания
dummy = first;
dummy = last;
В общем случае переменной-перечислению можно присваивать
значения, задаваемые перечислителями.
Так, если сделать описания
month m1, m2;
operator_CPP op1, op2, op3;
enum colour { red, green} c[10];