因此在学习c ++之前,我已经对c#语言有相当的经验。在C#中,我能够创建一个包含该程序枚举的枚举类。我想知道如何在c ++中创建枚举类。我正在使用netbean 8.2编写代码。我对枚举类的意思不是某个类中的枚举,而是整个类本身就是枚举。
编辑:我设法弄清楚了。谢谢所有帮助的人。
答案 0 :(得分:3)
我们可以简单地做到这一点:
int main()
{
enum class Color // "enum class" defines this as a scoped enumeration instead of a standard enumeration
{
RED, // RED is inside the scope of Color
BLUE
};
enum class Language
{
ENGLISH, // ENGLISH is inside the scope of Language
ITALIAN
};
Color color = Color::RED; // note: RED is not directly accessible any more, we have to use Color::RED
Language language = Language::ENGLISH; // note: ENGLISH is not directly accessible any more, we have to use Language::ENGLISH
}
答案 1 :(得分:0)
枚举是一种独特的类型,其值被限制在一个值的范围内,该值的范围可能包含几个明确命名的常量(“枚举器”)。常量的值是称为枚举的基础类型的整数类型的值。 使用以下语法(c ++)定义枚举:
enum-key attr(optional) enum-name enum-base(optional) ;
每个枚举器都成为枚举类型(即名称)的命名常量,在封装范围内可见,并且可以在需要常量时使用。
enum Color { red, green, blue };
Color r = red;
switch(r)
{
case red : std::cout << "red\n"; break;
case green: std::cout << "green\n"; break;
case blue : std::cout << "blue\n"; break;
}