С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vofff
0 / 0 / 0
Регистрация: 08.01.2011
Сообщений: 7
#1

Дайте характеристику применения ключевого слова enum - C++

08.01.2011, 14:26. Просмотров 852. Ответов 1
Метки нет (Все метки)

Дайте характеристику применения ключевого слова enum.
Какие приимущества такого применения по сравнению с исользованием символических констант?
Пожалуйста приведите пример программы с применением слова enum
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2011, 14:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дайте характеристику применения ключевого слова enum (C++):

Дайте характеристику линейных целых значений. - C++
Дайте характеристику линейных целых значений. Если можно приведите пример программы с вводом и выводом на дисплей...

Использование ключевого слова const - C++
как понимать такое: const int a; // понятно это константа с именем - а int const a; // ? непонятно что это const int const a; // ?...

Работа ключевого слова extern - C++
Здравствуйте. Скажите пожалуйста, почему так с extern нельзя поступать? #include <iostream> int main() { extern...

Объяснить назначение ключевого слова static - C++
Здравствуйте! Я пытаюсь разобраться с использованием static`a и у меня такой вопрос: будет ли корректно работать программа...

Выделение памяти с использованием ключевого слова new и исключения - C++
Где-то читал, что наличие в коде throw, даже в том случае когда нет try/catch может приводить к некоторым замедлению потому что где-то...

Ключевое слово const после ключевого слова new - C++
Наткнулся на такую запись const int* ciq = new const int (3); Какую роль играет const после new?

1
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
08.01.2011, 14:34 #2
Введение в перечисления

Как известно, перечисления - это тип который может содержать значения указанные программистом. Целочисленные именованные константы могут быть определены как члены перечисления. Например:
enum { RED, GREEN, BLUE };
определяет три целочисленные константы и присваивает им значения. По умолчанию, значения присваиваются по порядку начиная с нуля, т.е. RED == 0, GREEN == 1 и BLUE == 2. Перечисление также может быть именованным:
enum color { RED, GREEN, BLUE };
Каждое перечисление - это отдельный тип, и тип каждого члена перечисления - это само перечисление. Например RED имеет тип color. Объявление типа переменной как color, вместо обычного unsigned, может подсказать и программисту и компилятору о том как эта переменная должна быть использована. Например:
C++
1
2
3
4
5
6
7
8
9
10
11
void f(color c)
{
    switch(c){
        case RED:
            // do something
            break;
        case BLUE:
            // do something
            break;
    }
}
В этом случае компилятор может выдать предупреждение о том, что обрабатываются только два значения color из трёх возможных.

Таким образом перечисления это:

- Создание именованных констант с автоматическим увеличением значения константы
- Предупреждения о возможных ошибках со стороны компилятора

Основные проблемы при использовании enum

На самом деле всё что выше - общие слова, которые нужны только для того чтобы те кто забрёл сюда по ошибке, хотя бы что-то из этой статьи вынесли. А мы сейчас поговорим о сложностях и хитростях с которыми приходится сталкиваться каждому кто более-менее юзает перечисления в нормальном девелопменте. Итак, с чем приходится сталкиваться:

1. Отображение значения перечисления в строку которая совпадает с именем члена перечисления, т.е. что-либо что для enum_map[RED] вернёт "RED".

2. Итерация по членам перечисления и контроль выхода за границы. Т.е. сколько бы вы не добавляли новых элементов в перечисление, у вас всегда есть константа которая ровно на единицу больше последнего члена последовательности.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2011, 14:34
Привет! Вот еще темы с ответами:

Найти первое вхождение в строку заданного ключевого слова - C++
1. Обеспечить ввод строки, затем определить ее длину, и определить в ней первое вхождение заданного ключевого слова, например, ‘from’,...

Приведите пример программы с применением слова enum - C++
Приведите пожалуйста пример программы с применением слова enum

Каково практическое применение ключевого слова "protected" ? - C++
подскажите, пожалуйста, практическое применение ключевого слова "protected:". Зачем его использовать, если "добраться" до privet членов в...

Enum == int !=enum? - C++
enum Flags{ Flag1 = 1, Flag2 = 2}; int main() { Flags a = Flag1, b = Flag2; a = a | b; } error C2440: =: невозможно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.