类型enum class
是否与传统类完全分开,或者它的实现类似? enum class
如何运作?我问的原因是因为我不明白它是如何同时与类和枚举相似的。我假设一个枚举类不能有构造函数或内部方法吗?
答案 0 :(得分:3)
它与普通的enum
有关,它由一组常量值的名称组成。它与class
有关,因为名称全部包含在 类型名称的范围内。所以:
enum my_enum {
first,
second,
third
};
my_enum value = second; // OK; enumeration names are in global scope here
enum class my_class_enum {
fourth,
fifth,
sixth
};
my_class_enum other_value = fourth; // Error
my_class_enum another_value = my_class_enum::fourth; // OK