我基于Qt开发程序, 有一个自定义枚举, enum NAME{A,B,C}, 声明一个 NAME Person, 后面有一个Switch语句为 switch(Persion){case A:break;Case B:break;Case C:break;}
时间: 2024-04-03 12:30:55 浏览: 114
在您的代码中,有一个小错误:您声明了一个变量 `Person`,而在 `switch` 语句中使用的是 `Persion`,应该将 `Persion` 改为 `Person` 才能正确编译。
除此之外,您的代码是正确的。`switch` 语句根据变量 `Person` 的值来执行相应的分支,当 `Person` 的值为 `A` 时,执行第一个分支;当 `Person` 的值为 `B` 时,执行第二个分支;当 `Person` 的值为 `C` 时,执行第三个分支。如果 `Person` 的值不是 `A`、`B` 或 `C` 中的任意一个,那么就不会执行任何分支,直接跳过 `switch` 语句。
相关问题
声明一个Person类 里面有一个属性 性别 用枚举实现
好的,以下是一个简单的示例代码:
```java
public class Person {
enum Gender {
MALE,
FEMALE
}
private Gender gender;
public Person(Gender gender) {
this.gender = gender;
}
// 省略其他属性和方法
}
```
在上面的代码中,我们声明了一个 `Person` 类,并在其中定义了一个 `Gender` 枚举类型,包含两个枚举值 `MALE` 和 `FEMALE`。然后我们在 `Person` 类中声明了一个 `gender` 属性,类型为 `Gender`,并在构造方法中初始化了它。这样我们就可以通过创建 `Person` 对象并传入相应的 `Gender` 枚举值来设置这个人的性别了。
qt5写一个switch例子,switch参数是枚举,有default
好的,下面是一个基本的 Qt5 switch 语句的例子:
```cpp
#include <QCoreApplication>
#include <QDebug>
enum MyEnum {
ENUM_VALUE_1,
ENUM_VALUE_2,
ENUM_VALUE_3
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MyEnum myEnum = ENUM_VALUE_2;
switch (myEnum) {
case ENUM_VALUE_1:
qDebug() << "Enum value is ENUM_VALUE_1";
break;
case ENUM_VALUE_2:
qDebug() << "Enum value is ENUM_VALUE_2";
break;
case ENUM_VALUE_3:
qDebug() << "Enum value is ENUM_VALUE_3";
break;
default:
qDebug() << "Unknown enum value";
break;
}
return a.exec();
}
```
在这个例子中,我们首先定义了一个枚举类型 `MyEnum`,其中包含三个枚举值:`ENUM_VALUE_1`,`ENUM_VALUE_2`和`ENUM_VALUE_3`。然后我们定义了一个名为 `myEnum` 的变量并将其设置为 `ENUM_VALUE_2`。
接下来,我们使用 `switch` 语句来检查 `myEnum` 的值,并根据其值执行相应的代码。如果 `myEnum` 的值是 `ENUM_VALUE_1`,则打印出“Enum value is ENUM_VALUE_1”,如果 `myEnum` 的值是 `ENUM_VALUE_2`,则打印出“Enum value is ENUM_VALUE_2”,如果 `myEnum` 的值是 `ENUM_VALUE_3`,则打印出“Enum value is ENUM_VALUE_3”。如果 `myEnum` 的值不匹配任何一个枚举值,则打印出“Unknown enum value”。
最后,我们调用 `a.exec()` 来启动 Qt 事件循环并让应用程序保持运行状态。
阅读全文