71 |
С т р а н и ц а
использовать оператор if, в том что вы можете сделать больше со своими
специально подобранными сравнениями внутри скобок.
Подсказка
Оператор enum на самом деле является типом int. Чтобы подтвердить это,
применим следующий код:
cout << "Fish=" << Fish <<
" Bread=" << Bread <<
" Apple=" << Apple <<
" Orange=" << Orange << endl;
Вы увидите целочисленные значения enum, так что теперь вы знаете.
Иногда программистам нужно группировать множество значений под одной
меткой case в switch. Скажем, у нас есть enum такого вида:
enum Vegetables { Potato, Cabbage, Broccoli, Zucchini };
Программист хочет сгруппировать всю зелень вместе, так что он пишет
утверждение switch следующим образом:
switch( veg )
{
case Zucchini: //
цукини пролетает мимо, так как break
case Broccoli: //
не был написан здесь
cout << "
Зелень!" << endl;
break;
default:
cout << "
Нет зелени!" << endl;
break;
}
В этом случае Zucchini терпит неудачу и выполняется код Broccoli. Не зелёные
овощи в метке случая default. Чтобы предотвратить не выполнение как в
предыдущем примере, вы должны не забывать вводить завершающий оператор
break после каждой метки case.
Мы можем написать ещё одну версию switch, которая не пропускает Zucchini с
применением завершающего оператора break:
switch( veg )
{
case Zucchini
: // цукини больше не пропускается, так
как есть оператор break
cout << "
Цукини зелёное" << endl;
break;//
останавливает на случае цукини, не доходя до
case Broccoli: //
того что написано здесь
cout << "
Брокколи зелёная" << endl;
break;
default:
72 |
С т р а н и ц а
cout << "
Нет зелени!" << endl;
break;
}
Заметьте, что хорошая привычка в программировании, ставить оператор break и
после случая default, хоть это
и последний случай в перечислении.
Упражнение
Завершите следующую программу, которая имеет объект enum с рядом верховых
животных, из которых можно выбирать. Напишите утверждение switch, которое
выводит следующие сообщения для выбранного животного:
Конь
Конь отважный и мощный.
Кобыла
Эта лошадь белая и красивая.
Мул
Вам дали мула для езды. Вы заслужили это.
Овца
Бее! Овца может спокойно нести вашу поклажу.
Чокобо
Чокобо!
Помните, что объект enum является на самом деле типом int. Первое вводное в
enum по умолчанию 0, но вы можете дать объекту enum любое стартовое
значение
по своему желанию, используя оператор =. Последовательные значения в объекте
enum это
целые числа, расположенные по порядку.
Достарыңызбен бөлісу: