📅  最后修改于: 2023-12-03 14:39:59.744000             🧑  作者: Mango
枚举(Enum)是C++中的一种数据类型,它用于定义一系列具有相同类型的常数。枚举常量也称为枚举值,它们可以是整数、字符或字符串。
枚举类型的定义方式如下:
enum 枚举名 {
枚举值1,
枚举值2,
...
枚举值n
};
其中,枚举名是定义的枚举类型的名称,枚举值可以是任何整数值,默认第一个枚举值为0,其余枚举值依次递增。例如,我们可以定义一个表示星期的枚举类型:
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
使用枚举时可以直接通过枚举值来访问枚举常量,例如:
Weekday today = Monday;
if (today == Tuesday) {
std::cout << "Today is Tuesday." << std::endl;
} else {
std::cout << "Today is not Tuesday." << std::endl;
}
上述代码中,我们定义了一个Weekday类型的变量today,并将其赋值为Monday,然后通过if语句判断today是否等于Tuesday,如果是则输出"Today is Tuesday.",否则输出"Today is not Tuesday."。
枚举常量的默认值从0开始递增,不过我们也可以手动指定枚举常量的值。例如:
enum Fruit {
Apple = 1,
Orange,
Banana
};
上述代码中,我们手动指定了枚举常量的值。其中,Apple的值为1,Orange的值为2(因为Apple的值为1,所以Orange的值为上一个枚举常量的值+1),Banana的值为3。
枚举常量与普通变量的作用域相同,即它们的作用域仅限于定义它们的块中。例如:
int main() {
enum Color {
Red,
Blue
};
Color color = Red;
if (color == Red) {
enum Size {
Small,
Medium,
Large
};
Size size = Small;
std::cout << "Size: " << size << std::endl;
}
return 0;
}
上述代码中,我们在main函数中定义了一个表示颜色的枚举类型Color,枚举值为Red和Blue。然后我们定义了一个Color类型的变量color,并将其赋值为Red。接着,在if语句中,我们定义了一个表示大小的枚举类型Size,枚举值为Small、Medium、Large。我们定义了一个Size类型的变量size,并将其赋值为Small。最后输出size的值。
由于Size只在if语句中定义,所以它的作用域仅限于if语句块中。如果在if语句块之外访问Size变量,将会出现"error: 'Size' does not name a type"的错误信息。
枚举是C++中的一种数据类型,它用于定义一系列具有相同类型的常数。枚举常量也称为枚举值,它们可以是整数、字符或字符串。枚举类型的定义方式为:
enum 枚举名 {
枚举值1,
枚举值2,
...
枚举值n
};
使用枚举时可以直接通过枚举值来访问枚举常量。枚举常量的默认值从0开始递增,不过我们也可以手动指定枚举常量的值。枚举常量与普通变量的作用域相同,即它们的作用域仅限于定义它们的块中。