c++枚举类型enum用法
时间: 2023-07-02 21:03:40 浏览: 148
枚举类型enum用法
C++中的枚举类型(enum)是一种用户定义的数据类型,它用于定义一组命名的整数常量。枚举类型的语法如下:
```c++
enum 枚举类型名 {
枚举值1,
枚举值2,
...
};
```
其中,枚举值可以是任何整数常量,如果没有显式地为枚举值指定值,则第一个枚举值默认为0,后续枚举值依次加1。例如:
```c++
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
```
上述代码定义了一个Weekday枚举类型,其中Monday的值为0,Tuesday的值为1,以此类推。
可以通过以下方式定义枚举值的值:
```c++
enum Weekday {
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
};
```
上述代码定义了一个Weekday枚举类型,与之前的定义不同的是,这里显式地为每个枚举值指定了值。
枚举类型可以用于定义变量、函数参数、函数返回值等,例如:
```c++
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
Weekday today = Monday;
void printWeekday(Weekday day) {
switch (day) {
case Monday:
cout << "Monday" << endl;
break;
case Tuesday:
cout << "Tuesday" << endl;
break;
case Wednesday:
cout << "Wednesday" << endl;
break;
case Thursday:
cout << "Thursday" << endl;
break;
case Friday:
cout << "Friday" << endl;
break;
case Saturday:
cout << "Saturday" << endl;
break;
case Sunday:
cout << "Sunday" << endl;
break;
}
}
Weekday getNextDay(Weekday day) {
return static_cast<Weekday>((day + 1) % 7);
}
```
上述代码定义了一个Weekday枚举类型以及一些与之相关的变量和函数。注意,在printWeekday函数中,我们使用了switch语句来根据传入的Weekday枚举值进行不同的操作。在getNextDay函数中,我们使用了static_cast将整数常量转换为Weekday类型。
阅读全文