定义:把变量的值一一列举,变量的值只能取其中的一个。
形式1:
enum city{上海,北京,南京,广州};//city为枚举类型名
city city1,city2;//city1,city2为city枚举类型的变量
形式2:
enum city{上海,北京,南京,广州}city1,city2;
例子:
#include <iostream>
using namespace std;
enum city {beijing, shanghai, shandong, guangzhou=7, tianjin};
void fn(enum city c)
{
switch(c)
{
case 0:cout << "beijing\n" << endl;break;
case 1:cout << "shanghai\n" << endl;break;
case 2:cout << "shandong\n" << endl;break;
case 7:cout << "guangzhou\n" << endl;break;
case 8:cout << "tianjin\n" << endl;break;
default :cout << "非法城市!\n" << endl;break;
}
}
int main()
{
enum city c1, c2, c3, c4;
c1 = (enum city)2;
c2 = shandong;
c3 = beijing;
c4 = (enum city)4;
fn(c1);
fn(c2);
fn(c3);
fn(c4);
cout << c1 << " " << c2 << " " << c3 << " " << c4;
return 0;
}
枚举常量的使用说明:
1.先定义枚举类型,在定义枚举常量,然后使用枚举常量;
2.枚举元素是常量,不是变量,所以不能对枚举元素进行赋值;
3.枚举元素是常量,其常量值不是列举的“内容”,而是定义时的次序号:0,1,......,n;
4.枚举元素值在定义时可以人为指定;
5.枚举变量的值只能取定义枚举类型时所列举的元素之一;
6.尽管枚举元素有值,但是此值并不是整型值,所以不能把整型数赋值给枚举变量;
7.枚举元素不是字符串,可进行逻辑判断比较运算。