1

该类型enum class是完全独立于传统类的,还是其实现相似?如何enum class工作?我问的原因是因为我不明白它如何同时与类和枚举相似。我假设枚举类不能有构造函数或内部方法?

4

1 回答 1

3

它与普通的相关enum,因为它由一组常量值的名称组成。它与 a 相关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
于 2013-02-06T16:03:30.207 回答