与正常的枚举,
来源:互联网 发布:php mysql 集成安装包 编辑:程序博客网 时间:2024/03/29 13:24
与正常的枚举,枚举成员可以访问(如红色)直接在周边的范围(如在主)。然而,与枚举类,强作用域规则意味着你必须使用一个域限定符访问枚举器(例如:颜色:红色)。这有助于保持名称的污染和潜在的名称冲突。
强类型规则意味着,C++将寻找一个明确定义的比较函数比较颜色和水果。因为我们还没有定义一个运算符= =(颜色,水果)函数,编译器不知道如何比较A和B的任何有意义的方式,这将导致编译时错误发生。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int
main()
{
enum
class
Color
{
RED,
BLUE
};
enum
class
Fruit
{
BANANA,
APPLE
};
Color a = Color::RED;
// note: RED is not accessible any more, we have to use Color::RED
Fruit b = Fruit::BANANA;
// note: BANANA is not accessible any more, we have to use Fruit::BANANA
if
(a == b)
// compile error here, as the compiler doesn't know how to compare different types Color and Fruit
cout <<
"a and b are equal"
<< endl;
else
cout <<
"a and b are not equal"
<< endl;
return
0;
当C + +比较A和B,这是比较他们为整数,这意味着在上面的例子中,一个确实等于B因为他们都默认为整数0。这是绝对没有希望从A和B是从不同的枚举!
C + + 11定义了一个新的概念,枚举类,使两个强类型的枚举和强烈的范围。
0 0
- 与正常的枚举,
- 枚举与int的互换
- 枚举与宏的区别
- c++与java的枚举
- 枚举与字符串的转换
- Java 与 C 的枚举
- 枚举的结构与应用
- 指针的引用与正常指针
- C++枚举的使用 C99与C11的枚举
- 枚举类的定义与枚举内容的取出
- c# 枚举基础 与 枚举属性的访问
- c# 枚举基础 与 枚举属性的访问
- java 枚举的原理与使用枚举设计单例
- 枚举与整型之间的转换
- 关于进程的枚举与关闭
- 排列的枚举与应用-Prolog
- 枚举与字符串的互化示例
- delphi 枚举类型与字符串的转换
- DATA GUARD的概述
- 分治 & 递归式求解
- wait_event_interruptible() 和 wake_up()的使用
- ios图片命名Icon-120.png - 120x120 iphone & ipod touch(ios7)
- 使用ASIHttpRequest调用WebService
- 与正常的枚举,
- xml 中文注释问题
- Sublime Text2安装Package Control
- 【小白笔记】PHP学习之路 (9) --字符串(1)
- ios webservice登录
- Sublime Text关闭自动更新
- 黑马程序员 C# 程序集和反射
- SIteMesh介绍
- 比较开发阶段工程部署到tomcat问题