C++语言程序设计

我们常常需要一些整型常量表示某一个的数据范围。例如，假定需要表示汽车的颜色：
const int cRED = 0;
const int cBLUE = 1;
…
int auto_colour;
auto_colour = cBLUE;
上面的程序语句是用整型变量auto_colour表示颜色，下面的语句也是合法的：
auto_colour = -1;
…
显然，-1并不是所需要的颜色值。如果能够限定auto_colour在限定的整数范围（即规定的几种颜色集合）内取值就比较好，C++中的枚举类型能够让我们做到这一点。枚举类型是一种用户定义的数据类型，其一般定义形式为：
enum 枚举类型名
{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数],
};
"枚举类型名"右边花括号中的内容称之为枚举表，枚举表中的每一项称之为枚举成员，枚举成员是常量，也就是说，枚举表是整型常量的集合。枚举成员之间用逗号隔开，方括号中的"整型常数"是枚举成员的初值。
如果不给枚举成员赋初值，即省掉了标识符后的"=整型常数"时，则编译器为每一个枚举成员给一个不同的整型值，第一个成员为0，第二个为1，等等。当枚举类型中的某个成员赋值后，其后的成员则按依次加1的规则确定其值。下面是一个枚举类型定义实例：
enum Colour { eRED, eBLUE, eYELLOW, eGREEN,
eSILVERGREY,eBURGUNDY };
这样就定义了一个称之为Colour的枚举类型，编译器给枚举成员eRED，…，eBURGUNDY的值分别为0，…，5。 定义了枚举类型，就可以定义枚举类型的变量，其值限定为某一个枚举成员。例如：
Colour auto_colour;
…
auto_colour = eBURGUNDY;
Colour类型变量auto_colour只能取eRED，…，eBURGUNDY六个值中的一个，下面的语句将会出现编译错误：
auto_colour = 4;
我们也可以在定义枚举类型时，为枚举成员指定初值，例如：
enum Colour { eRED=5, eBLUE, eYELLOW, Egreen=30,
Esilvergrey=40,eBURGUNDY };
这时，eBLUE=6、Eyellow=7、Eburgundy=41。
由上述几种基本数据类型通过各种组合可以得到复合数据类型，这些数据类型在以后章节会有详细讲解。