带有构造函数的 C++ 枚举类

cry*_*nic 3 c++ enums

在 Java 中,您可以为枚举编写构造函数,例如

private MyEnum(String name, int val) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后你可以写:

public enum MyEnum {
    FIRST("A", 10), SECOND("B", 20), THIRD("C", 30);

    private MyEnum(String name, int val) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么办法可以为 C++ 枚举类做类似的事情吗?

Bli*_*ndy 5

不,C 和 C++ 枚举只是一组组合在一起的常量。C++ 枚举类是相同的,但要访问它们,您需要将枚举类的名称添加为“命名空间”。