枚举类型
枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。
如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。
创建枚举,需要使用关键字 enum。枚举类型的一般形式为:
enum enum-name { list of names } var-list;
enum-name 是枚举类型的名称。名称列表 { list of names } 是用逗号分隔的
eg1:
enum color { red, green, blue } c;//定义了一个名为color的的枚举类型,c是枚举变量。
c = blue;//给枚举变量C赋值 c = blue
eg2:
默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。例如,在下面的枚举中,green 的值为 5。
enum color { red, green=5, blue };
在这里,blue 的值为 6,因为默认情况下,每个名称都会比它前面一个名称大 1。
eg:
#include <iostream>
using namespace std;
int main()
{
enum school{teacher,student,headmaster} a,b,c;
a=school(0);
b=student;
c=headmaster;
cout<<a<<endl;
cout<<b<<endl;
cout<<c<<endl;
cout << "Hello World "<< endl;
return 0;
}

为什么要用枚举呢?
看看这个例子:
#include<iostream>using namespace std;void main(){ int per=0; switch(per) { case 0: cout<<"中国人,牛!"<<endl; break; case 1: cout<<"美帝人,黑!"<<endl; break; case 2: cout<<"英国佬,才!"<<endl; break; default: break; }} //对比
#include<iostream>using namespace std;enum Person{ Chinese,American,English};void main(){ Person per=American; switch(per) { case Chinese: cout<<"中国人,牛!"<<endl; break; case American: cout<<"美帝人,黑!"<<endl; break; case English: cout<<"英国佬,才!"<<endl; break; default: break; }}原文:http://www.cnblogs.com/chenshizhutou/p/6715396.html