qt 中使用枚举,给我一个稍微复杂例子
时间: 2024-03-02 15:49:06 浏览: 58
好的,下面是一个稍微复杂一些的例子:
```cpp
// 定义枚举类型
enum UserType {
UnknownUser,
RegularUser,
PremiumUser,
AdminUser
};
// 定义结构体
struct User {
QString name;
UserType type;
};
// 使用枚举类型和结构体
User myUser = {"Alice", PremiumUser};
if (myUser.type == RegularUser) {
qDebug() << myUser.name << "is a regular user.";
} else if (myUser.type == PremiumUser) {
qDebug() << myUser.name << "is a premium user.";
} else if (myUser.type == AdminUser) {
qDebug() << myUser.name << "is an admin user.";
} else {
qDebug() << myUser.name << "has an unknown user type.";
}
```
在上面的示例中,我们定义了一个名为 `UserType` 的枚举类型,其中包含四个常量:`UnknownUser`、`RegularUser`、`PremiumUser` 和 `AdminUser`。然后我们定义了一个名为 `User` 的结构体,其中包含一个 `name` 字符串和一个 `type` 枚举类型的成员变量。
接下来,我们创建了一个名为 `myUser` 的变量,并将其初始化为一个名为 `Alice`、类型为 `PremiumUser` 的用户。在 if 语句中,我们检查 `myUser.type` 的值,如果是 `RegularUser`、`PremiumUser` 或 `AdminUser`,则分别输出相应的文本;否则输出 `UnknownUser` 的文本。
这个例子演示了如何将枚举类型用于更复杂的数据结构中,例如结构体。
阅读全文