使用C++实现通过switch case访问枚举类型中的结构体并对其赋值
时间: 2024-03-20 16:43:44 浏览: 208
c++结构体、共同体和枚举型
可以通过以下方式使用C++实现通过 switch case 访问枚举类型中的结构体并对其赋值:
首先,定义一个枚举类型,其中包含一个结构体:
```
enum MyEnum {
STRUCT_VALUE
};
struct MyStruct {
std::string name;
int age;
};
```
然后,在代码中使用 `switch case` 访问枚举类型,并对结构体赋值:
```
MyStruct myStruct = {"Tom", 25};
MyEnum myEnum = STRUCT_VALUE;
switch (myEnum) {
case STRUCT_VALUE:
myStruct.name = "John";
myStruct.age = 30;
break;
default:
std::cout << "Other cases" << std::endl;
}
std::cout << "Name: " << myStruct.name << ", Age: " << myStruct.age << std::endl;
```
在这个例子中,我们创建了一个 `MyStruct` 类型的实例,并将其中的属性赋值为 `{"Tom", 25}`。然后,我们创建了一个 `MyEnum` 类型的实例,并将其赋值为 `STRUCT_VALUE`。接着,我们使用 `switch case` 访问 `MyEnum` 实例,当它是 `STRUCT_VALUE` 时,我们直接对其中的结构体属性进行修改。最后,输出修改后的结构体。
阅读全文