如何根据 enum 内元素,定义不同的子 enum?

2023-06-28 15:19:51 +08:00
 icemanpro
以报警类型为例,每个报警类型下会有不同的报警子类型。这时应该如何设计结构?

enum class AlarmType
{
alarm_type1,
alarm_type2,
}


现在有报警子类型 alarm_type1_sub_type1,alarm_type1_sub_type2,alarm_type2_sub_type1,alarm_type2_sub_type2 等。有什么好的数据结构设计?
1135 次点击
所在节点    C++
2 条回复
DsuineGP
2023-06-28 15:39:05 +08:00
相同类别的子类型用 enum 封装, 多个 enum 用 namespace 隔离
----
```
namespace AlarmType
{
alarm_type1
{
alarm_type1_sub_type1,
alarm_type1_sub_type2
};

alarm_type2
{
alarm_type2_sub_type1,
alarm_type2_sub_type2
};
}
```
duaoxiao
2023-06-28 19:44:42 +08:00
```py
class Enum:
Value1 = 1
Value2 = 2

class EnumValue1:

class EnumValue2:

enum_mapping = {
Enum.Value1: EnumValue1,
Enum.Value2: EnumValue2
}

```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/952401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX