Контрольная работа: Типы данных С++
……..
itemN[ = def]
};
где
enum - ключевое слово (от enumerate - перечислять),
Name - имя списка констант,
iteml...itemN - перечень целочисленных констант,
[=def] - необязательный параметр инициализации.
Предположим, нам необходимо в программе описать работу светофора. Известно, что его цвет может принимать лишь 3 значения: красный (RED), желтый (YELLOW) и зеленый (GREEN). Для обработки полученных от светофора сигналов заведем три константы с такими же именами - RED, YELLOW и GREEN, проинициализировав их любыми неповторяющимися значениями с тем, чтобы в дальнейшем проверять, какой из этих трех цветов горит.
Например, мы могли бы записать:
const int RED = 0;
const int YELLOW = 1;
const int GREEN = 2;
Используя перечисления, то же самое можно сделать в одну строку:
enum COLOR {RED, YELLOW, GREEN};
Константы перечисления обладают следующей важной особенностью: если значение константы не указано, оно на единицу больше значения предыдущей константы. По умолчанию первая константа имеет значение 0.
То же перечисление можно было проинициализировать другими значениями:
enum COLOR {RED=13, YELLOW=l, GREEN};
При этом константа GREEN по-прежнему имеет значение 2.
6. Преобразования типов
В С++ существует явное и неявное преобразование типов.
В общем случае неявное преобразование типов сводится к участию в выражении переменных разного типа (так называемая арифметика смешанных типов). Если подобная операция осуществляется над переменными базовых типов (представленных в табл. 1.2),она может повлечь за собой ошибки: в случае, например, если результат занимает в памяти больше места, чем отведено под принимающую переменную, неизбежна потеря значащих разрядов.
Для явного преобразования переменной одного типа в другой перед именем переменной в скобках указывается присваиваемый ей новый тин:
#include <iostream.h>
int main()
{
int Integer = 54;
float Floating = 15.854;
Integer = (int) Floating; // явное преобразование типов