Лабораторная работа № Ознакомление с фундаментальными типами данных План: Целые типы данных


Download 0.88 Mb.
bet24/64
Sana13.09.2023
Hajmi0.88 Mb.
#1677324
TuriЛабораторная работа
1   ...   20   21   22   23   24   25   26   27   ...   64
Bog'liq
Лаборатория № 1 - 6

Вывод перечислителей
Попытка вывести перечисляемое значение с помощью std::cout приведёт к выводу целочисленного значения самого перечислителя (т.е. его порядкового номера). Но как вывести значение перечислителя в виде текста? Один из способов — написать функцию с использованием стейтментов if:

enum Colors
{
COLOR_PURPLE, // присваивается 0
COLOR_GRAY, // присваивается 1
COLOR_BLUE, // присваивается 2
COLOR_GREEN, // присваивается 3
COLOR_BROWN, // присваивается 4
COLOR_PINK, // присваивается 5
COLOR_YELLOW, // присваивается 6
COLOR_MAGENTA // присваивается 7
};
void printColor(Colors color)
{
if (color == COLOR_PURPLE)
std::cout << "Purple";
else if (color == COLOR_GRAY)
std::cout << "Gray";
else if (color == COLOR_BLUE)
std::cout << "Blue";
else if (color == COLOR_GREEN)
std::cout << "Green";
else if (color == COLOR_BROWN)
std::cout << "Brown";
else if (color == COLOR_PINK)
std::cout << "Pink";
else if (color == COLOR_YELLOW)
std::cout << "Yellow";
else if (color == COLOR_MAGENTA)
std::cout << "Magenta";
else
std::cout << "Who knows!";
}


Выделение памяти для перечислений
Перечисляемые типы считаются частью семейства целочисленных типов, и компилятор сам определяет, сколько памяти выделять для переменных типа enum. Официально C++ сообщает, что размер перечисления должен быть достаточно большим, чтобы иметь возможность вместить все перечислители. Но чаще всего размеры переменных enum будут такими же, как и размеры обычных переменных типа int.
Поскольку компилятору нужно знать, сколько памяти выделять для перечисления, то использовать предварительное объявление с ним вы не сможете. Однако существует простой обходной путь. Поскольку определение перечисления само по себе не требует выделения памяти и если перечисление необходимо использовать в нескольких файлах, то его можно определить в заголовочном файле и подключать этот файл везде, где необходимо использовать перечисление.



Download 0.88 Mb.

Do'stlaringiz bilan baham:
1   ...   20   21   22   23   24   25   26   27   ...   64




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling