如何在 C++ 的 switch 语句中使用枚举值?

2021-12-29 00:00:00 enums switch-statement c++

我想对 switch 语句使用 enum 值.是否可以使用 "{}" 中的 enum 值作为 switch()"的选项?

I would like to use an enum value for a switch statement. Is it possible to use the enum values enclosed in "{}" as choices for the switch()"?

我知道 switch() 需要一个 integer 值,以便将编程流程定向到适当的 case 编号.如果是这种情况,我是否只需为 enum 语句中的每个常量创建一个变量?

I know that switch() needs an integer value in order to direct the flow of programming to the appropriate case number. If this is the case, do I just make a variable for each constant in the enum statement?

我还希望用户能够选择选项并将该选项传递给 switch() 语句.

I also want the user to be able to pick the choice and pass that choice to the switch() statement.

例如:

cout << "1 - Easy, ";
cout << "2 - Medium, ";
cout << "3 - Hard: ";

enum myChoice { EASY = 1, MEDIUM = 2, HARD = 3 };

cin >> ????

switch(????)
{
case 1/EASY:  // (can I just type case EASY?)
    cout << "You picked easy!";
    break;

case 2/MEDIUM:
    cout << "You picked medium!";
    break;

case 3/HARD: // ..... (the same thing as case 2 except on hard.)

default:
    return 0;
}

推荐答案

您可以像使用整数一样使用枚举值:

You can use an enumerated value just like an integer:

myChoice c;

...

switch( c ) {
case EASY:
    DoStuff();
    break;
case MEDIUM:
    ...
}

相关文章