一个枚举是一个类型,可以保存一组由用户刻画的值。定义之类,枚举的使用很像一个整数类型。枚举的定义具有以下形式,即以关键词enum开头,接着一个可选的枚举名,下来是由大括号{}包含着一个由逗号分隔的枚举子列表enumerators list。
注意:
1. 枚举类型中的枚举元素系统是按照常量来处理的,故叫枚举常量,他们是不能进行普通算术赋值的,不过可以在声明枚举类型的时候赋值。
2.如果不进行元素赋值操作,那么元素将会被系统从0开始递增自动赋值。若你只对第一个元素赋值,那么下一个元素进行前一个元素加1操作。
3. 使用枚举类型,必须定义类型的变量,也可以在定义枚举类型时定义变
4.枚举类型可以用于swith...case语句;
5.枚举类型不支持直接的cin>>和cout<<;
6.枚举元素之间比较可以用一下6个操作符: <,>,<=,>=,==.!=
7.枚举类型可作为函数的返回类型。
例:用枚举类型求点的对称点坐标:
#include<iostream>
using namespace std;
enum SymmetricStyle {axisx, axisy, point};//分别表示按x轴, y轴, 原点对称三种方式
void output(double x,double y,SymmetricStyle s)
{
switch(s)
{
case axisx:
cout<<'('<<x<<','<<-y<<')'<<endl;
break;
case axisy:
cout<<'('<<-x<<','<<y<<')'<<endl;
break;
case point:
cout<<'('<<-x<<','<<-y<<')'<<endl;
break;
}
}
int main()
{
double x,y;
cout<<"输入点的坐标:";
cin>>x>>y;
cout<<"关于x轴的对称点是:";
output(x,y,axisx);
cout<<"关于y轴的对称点是:";
output(x,y,axisy);
cout<<"关于坐标原点的对称点是:";
output(x,y,point);
return 0;
}