相关博文:C++新特性探究(十):enum class(struct)
枚举
枚举类型定义了一组整型常量的集合,目的是提高程序的可读性。它的语法跟结构体的语法相同。
例1:enum DAY可以定义枚举变量,既可以取枚举过的命名值,也可赋予其他整形。C++中则不可以,只能取枚举过的命名值。
附例1代码:
//小问学编程
#include<stdio.h>
enum DAY
{
MON=1,TUE,WED,THU,FRI,SAT,SUN
};
int main()
{
printf("%d,%d,%d,%d,%d,%d,%d\n",MON,TUE,WED,THU,FRI,SAT,SUN);
enum DAY day=MON;
printf("day=%d\n",day);
return 0;
}
在使用过程中,枚举常量,应用更广泛,提高程序的可读性。常用于出错处理的枚举。
判断日期
例2:判断一年中第125天是工作日,还是休息日?假设一年365天,新年第一天是星期一。
附例2代码:
//小问学编程
#include<stdio.h>
enum DAY
{
MON=1,TUE,WED,THU,FRI,SAT,SUN
};
int main()
{
unsigned int today;
printf("Pls input today Num:");
scanf("%d",&today);
today=today%7;
enum DAY day=today;
//enum常用于给canse语句提供一类方便的标签。
switch(day)
{
case MON:
case TUE:
case WED:
case THU:
case FRI:
printf("today is workday\n");
break;
case SAT:
case SUN:
printf("today is holiday\n");
break;
}
return 0;
}
增加bool类型
C语法中没有bool类型,可以通过enum类型来枚举。
C++ 真正的枚举
例:C++中枚举变量,只能用枚举值来赋值。