【知识点:枚举类型】
● 枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。
● 枚举元素作为常量,它们是有值的。C++ 编译时,依序对枚举元素赋整型值 0,1,2,3,…。
下面代码的结果,是依据国际标准及一些传统中的“星期日是一周的第一天”进行声明枚举类型 enum Week{SUN,MON,TUE,WED,THU,FRI,SAT}; 并依枚举元素的整型值进行计数而得出的。
#include <iostream>
using namespace std;
enum Week{SUN,MON,TUE,WED,THU,FRI,SAT};
int main() {
Week w;
w=FRI;
cout<<"Day of week?\n"<<w+1;
return 0;
}
/*
Day of week?
6
*/
● 在C++中,枚举类型不支持下标访问。因为枚举类型被设计为常量集合,类似于简单的整型值。如果需要根据索引来获取枚举值,可以使用 switch 语句或者 if-else 逻辑来实现。
#include <iostream>
using namespace std;
enum Week{SUN,MON,TUE,WED,THU,FRI,SAT};
int main() {
Week w;
w=FRI;
switch(w) {
case 0: //case SUN:
cout<<"Sunday\n";
break;
case 1: //case MON:
cout<<"Monday\n";
break;
case 2: //case TUE:
cout<<"Tuesday\n";
break;
case 3: //case WED:
cout<<"Wednesday\n";
break;
case 4: //case THU:
cout<<"Thursday\n";
break;
case 5: //case FRI:
cout<<"Friday\n";
break;
case 6: //case SAT:
cout<<"Saturday\n";
break;
default:
cout<<"Don't know what day of the week\n";
break;
}
return 0;
}
/*
Friday
*/