Не знаю, как бы красиво тут написать.
switch последовательно проходит весь блок и выполняет все case, которые в нем заключены до тех пор, пока не встретит оператор break или не будет достигнут конец блока. default выполняется в том случае, если не было ни одного совпадения case с выражением.
1. очему после default нет команды выхода break?
Потому что default является последним оператором в блоке switch и break можно не использовать. Но если запись будет типа
C++ |
1
2
3
4
5
6
7
8
9
| switch (выражение)
{
case значениеОдин: оператор;
break;
case значениеДва: оператор;
break;
default: оператор;
case значениеТри: оператор;
} |
|
Приведет к тому, что после выполнения default, будет выполняться case значениеТри...
В моем случае после
case значениеТри: оператор; break не стоит, т.к. он тут особо не нужен, но вот его отсутствие после default может привести не к тем результатам