如何在C ++中实现Swift枚举关联值?

时间:2014-10-19 23:19:42

标签: c++ swift enums

在Swift中,我实现了一个状态机,其中当前状态由枚举值表示。我将不同类型的额外数据与每个枚举值相关联。有没有办法在C ++中执行此操作?我只能想到使用某些State类的继承,但后来我必须使用某种反射并转换State对象来获取额外的关联数据。

1 个答案:

答案 0 :(得分:1)

一种方法是使用表示枚举的基类,以及每个案例的子类(每个类都具有该案例的关联值的变量)。基类应该是多态的(至少有一个虚方法;可能是一个虚析构函数),所以" enum"可以使用dynamic_cast对每个案例进行测试来解构它。