Форум программистов, компьютерный форум CyberForum.ru

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

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

Как вытащить значение с enum? - C++

06.08.2013, 22:06. Просмотров 518. Ответов 5
Метки нет (Все метки)

У меня перечисленны в enum допустимые типы автомобилей и потом количество мест для каждого из них. Как правильно в классе написать конструктор, который будет по заданомму типу автомобиля брать количество мест для посадки?

C++
1
2
3
4
5
6
7
8
9
10
enum CarType
{
    Car_Gaz,
    Car_Limo,
    Car_Jip,
    Car_Audi8,
    Car_Oka,
    Car_MAX,
};
int CSits[Car_MAX] = {13,24,7,5,4};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.08.2013, 22:06     Как вытащить значение с enum?
Посмотрите здесь:

Работа с enum, как вывести значение - C++
не могу разобраться с enum . По одному вывести могу,но надо,чтобы пользователь смог сделать выбор #include<iostream> using namespace...

Как вытащить из строки значение? - C++
Есть строка такого вида: подстроки типа "request=3" и "action=11" разделены табуляциями. Как мне получить значение "11" из...

случайное значение из enum, c++ - C++
Дано условие const string obj={"Stone", "Scissors", "Paper"}; enum bo{Sto, Sci, Pap}; bo ms_; string...

Работа со стеком (вытащить значение и сохранить в переменную) - C++
Привет всем! Пишу я лабораторку по моделированию систем. И столкнулся с проблемой вытаскивания значений из стека и сохранение в...

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

Как работать с типом enum? - C++
Подскажите по типу enum, как с ним работать. Что означает к примеру: enum {privet, poka, molodes}; и enum TSova {csNormal,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.08.2013, 22:16     Как вытащить значение с enum? #2
dmitro_ua, так у Вас всё написано же. В чем вопрос?
DU
1482 / 1058 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
06.08.2013, 22:35     Как вытащить значение с enum? #3
т.е. enum кастятся в инты и по умолчанию они идут от нуля, можете этим воспользоваться:
C++
1
2
3
4
5
Constructor(CarType carType)
{
   int sitsCount = CSits[carType]; // работает при условии, что в этом месте массив CSits доступен,
                                             // его размер нормальный и енумы идут от нуля.
}
dmitro_ua
0 / 0 / 0
Регистрация: 06.08.2013
Сообщений: 11
06.08.2013, 22:45  [ТС]     Как вытащить значение с enum? #4
Благодарю!
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
06.08.2013, 22:46     Как вытащить значение с enum? #5
C++
1
2
3
4
5
int Cars::getAmountPlaces(int type)
{
     if (Car_Gaz <= type && type < Car_MAX)  return CSits[type];
     else return -1;
}
и в конструкторе вызываем этот метод
Tulosba
06.08.2013, 22:52     Как вытащить значение с enum?
  #6

Не по теме:

Цитата Сообщение от DU Посмотреть сообщение
enum кастятся в инты и по умолчанию они идут от нуля
Никак не могу поверить, что ТС, задав в коде
Цитата Сообщение от dmitro_ua Посмотреть сообщение
int CSits[Car_MAX] = {13,24,7,5,4};
не смог сделать тривиальной операции подстановки индекса.

Yandex
Объявления
06.08.2013, 22:52     Как вытащить значение с enum?
Ответ Создать тему
Опции темы

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