C/C++关于Enum
2008-08-21 16:37
260 查看
#include<iostream>
#include<cstring>
using namespace std;
void main()
{
enum in_message {A,D,S,Q}; //A,D,S,Q依次标号是0,1,2,3
in_message i;
char t;
cout<<"Menu:D(dd),A(elete),S(ort),Q(uit),请输入?";
cin>>t; // 不能把字符直接给枚举变量,不能给枚举变量直接给值
i=(in_message) t; //把整形强制转化成枚举类型
if(i=='D')
cout<<"数据已经删除/n"<<endl;
else if(i=='A')
cout<<"数据已经增加/n"<<endl;
else if(i=='S')
cout<<"数据已经排序/n"<<endl;
else
cout<<"没有这个操作/n";
}
枚举是一个被命名的整型常数的集合, 枚举在日常生活中很常见。
例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
SATURDAY, 就是一个枚举。
枚举的说明与结构和联合相似, 其形式为:
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数],
} 枚举变量;
如果枚举没有初始化, 即省掉"=整型常数"时, 则从第一个标识符开始, 顺
次赋给标识符0, 1, 2, ...。但当枚举中的某个成员赋值后, 其后的成员按依次
加1的规则确定其值。
例如下列枚举说明后, x1, x2, x3, x4的值分别为0, 1, 2, 3。
enum string{x1, x2, x3, x4}x;
当定义改变成:
enum string
{
x1,
x2=0,
x3=50,
x4,
}x;
则x1=0, x2=0, x3=50, x4=51
注意:
1. 枚举中每个成员(标识符)结束符是",", 不是";", 最后一个成员可省略
","。
2. 初始化时可以赋负数, 以后的标识符仍依次加1。
3. 枚举变量只能取枚举说明结构中的某个标识符常量。
例如:
enum string
{
x1=5,
x2,
x3,
x4,
};
enum strig x=x3;
此时, 枚举变量x实际上是7。
#include<cstring>
using namespace std;
void main()
{
enum in_message {A,D,S,Q}; //A,D,S,Q依次标号是0,1,2,3
in_message i;
char t;
cout<<"Menu:D(dd),A(elete),S(ort),Q(uit),请输入?";
cin>>t; // 不能把字符直接给枚举变量,不能给枚举变量直接给值
i=(in_message) t; //把整形强制转化成枚举类型
if(i=='D')
cout<<"数据已经删除/n"<<endl;
else if(i=='A')
cout<<"数据已经增加/n"<<endl;
else if(i=='S')
cout<<"数据已经排序/n"<<endl;
else
cout<<"没有这个操作/n";
}
枚举是一个被命名的整型常数的集合, 枚举在日常生活中很常见。
例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,
SATURDAY, 就是一个枚举。
枚举的说明与结构和联合相似, 其形式为:
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
...
标识符[=整型常数],
} 枚举变量;
如果枚举没有初始化, 即省掉"=整型常数"时, 则从第一个标识符开始, 顺
次赋给标识符0, 1, 2, ...。但当枚举中的某个成员赋值后, 其后的成员按依次
加1的规则确定其值。
例如下列枚举说明后, x1, x2, x3, x4的值分别为0, 1, 2, 3。
enum string{x1, x2, x3, x4}x;
当定义改变成:
enum string
{
x1,
x2=0,
x3=50,
x4,
}x;
则x1=0, x2=0, x3=50, x4=51
注意:
1. 枚举中每个成员(标识符)结束符是",", 不是";", 最后一个成员可省略
","。
2. 初始化时可以赋负数, 以后的标识符仍依次加1。
3. 枚举变量只能取枚举说明结构中的某个标识符常量。
例如:
enum string
{
x1=5,
x2,
x3,
x4,
};
enum strig x=x3;
此时, 枚举变量x实际上是7。
|
相关文章推荐
- 关于C++中enum的探讨[zz]
- 关于C++中enum的探讨
- 关于C与C++的struct,union,enum用法差异
- 关于C/C++中 Class, Struct, enum的定义声明位置
- 关于C++中enum的探讨
- c++中关于enum的特殊用法
- 关于C++中enum的探讨
- 关于C++中enum的探讨
- 面试中关于C++中的类,结构体,enum,字符变量等所占内存空间问题总结
- c++中关于enum的特殊用法
- 关于C++中enum的探讨
- 关于C++中enum的探讨
- 关于C++的标准库的相关内容
- 关于C++复杂性的零碎思考
- 关于网页中编码gb2312,big5,gbk,utf-8识别的最新方法的探讨和c++的实现
- 关于C/C++中表达式求值顺序的深层次问题
- 关于c++ 中的 typedef 用法
- MSN上关于C++/C#/Java的讨论
- 【转贴】深入讨论C++的enum
- C++中,关于#include<***.h>和#include"***.h"的区别