枚举(Enumerated type)是一种用户定义的数据类型,可以赋予一些有限的值。这些值由程序员在声明枚举类型时定义。
如果我们将浮点值分配给字符值,则编译器会生成错误。同样,如果我们尝试将任何其他值分配给枚举数据类型,编译器会生成错误。值的枚举类型也称为枚举数。与数组一样,它也被赋值为零。它还可以与 switch 语句一起使用。
句法:
enum 枚举类型名称
{
值1、值2、值3……值N
};
例如:如果创建的性别变量的值为男性或女性。如果指定除男性或女性以外的任何其他值,则它是不合适的。在这种情况下,可以声明只分配男性和女性值的枚举类型。
C++ 中的枚举
enum关键字用于在编写枚举类型名称后声明枚举类型,然后在大括号下定义可能的值。定义后,将创建枚举类型变量。
枚举器可以以两种类型创建:-
可以在声明枚举类型时声明,只需在分号前添加变量名即可。或者,
除此之外,我们可以像普通变量一样创建枚举类型变量。
枚举类型名变量名=值;
默认情况下,枚举的第一个元素的起始代码值为 0(与数组的情况相同)。但它可以明确地改变。
例子:
enum 枚举类型名称{value1=1, value2, value3};
此外,枚举的连续值将具有下一组代码值。
例子:
//first_enum 是枚举类型名
enum first_enum{value1=1, value2=10, value3};
在这种情况下,
第一个枚举 e;
e=值3;
输出<<e;
输出:
11
例子:
// C++ Program to Demonstrate the Functioning of Enumerators
// with an example of Gender
#include <bits/stdc++.h>
using namespace std;
int main()
{
// Defining enum Gender
enum Gender { Male, Female };
// Creating Gender type variable
Gender gender = Male;
switch (gender) {
case Male:
cout << "Gender is Male";
break;
case Female:
cout << "Gender is Female";
break;
default:
cout << "Value can be Male or Female";
}
return 0;
}
输出:
性别为男
例子:
// C++ Program to Demonstrate the Functioning of Enumerators
// with an Example of Year
#include <bits/stdc++.h>
using namespace std;
// Defining enum Year
enum year {
Jan,
Feb,
Mar,
Apr,
May,
Jun,
Jul,
Aug,
Sep,
Oct,
Nov,
Dec
};
// Driver Code
int main()
{
int i;
// Traversing the year enum
for (i = Jan; i <= Dec; i++)
cout << i << " ";
return 0;
}
输出:
0 1 2 3 4 5 6 7 8 9 10 11