没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
C++枚举类型枚举类型enum与与enum class的使用的使用
主要介绍了C++枚举类型enum与enum class的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工
作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一一.关于枚举类型关于枚举类型
1. 什么是枚举类型什么是枚举类型?
答:如果一个变量只有几种可能的值,那么就可以定义为枚举类型,比如:性别只有男和女,那么就可以将性别定义为一种枚
举类型,其中男和女就是性别所包含的变量。所谓”枚举”是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围
内。在C++中,枚举类型分为不限定作用域(enum)和限定作用域(enum class)。
2. enum与与enum class的区别的区别? (为什么需要限定作用域?)(为什么需要限定作用域?)
答:枚举作用域是指枚举类型成员名字的作用域,起自其声明之处,终止枚举定义结束之处。enum与class enum区别在于是
否限定其作用域。C语言规定,枚举类型(enum)的成员的可见范围被提升至该枚举类型所在的作用域内。这被认为有可能
污染了外部的作用域,为此,C++11引入了枚举类(enum class)解决此问题。
举个例子:
通常情况下,我们定义一个枚举类型:
enum Sex
{
Girl,
Boy
};
这时,你不可以再使用一个枚举去定义Girl 和 Boy了,如:
// 错误,编译器提示 Girl,Boy重定义
enum Student
{
Girl,
Boy
};
编译错误的原因在于Sex与Student都处在同一作用域下,成员变量重定义。
这便体现C++11引入枚举类(enum class)的重要性,enum class能够有效对枚举作用域进行限定,避免了枚举成员的重定义。
enum class Sex
{
Girl,
Boy
};
enum class Student
{
Girl,
Boy
};
int main(int argc, char *argv[])
{
Sex a = Sex::Gril;
Student b = Student::Gril;
//两者处于不同作用域下,不会重定义
}
二二.枚举类型枚举类型enum的使用的使用
定义:
enum /*枚举类型*/
{
/*枚举成员*/,
/*枚举成员*/,
/*枚举成员*/
};
如:
enum Sex
{
Girl,
资源评论
weixin_38530115
- 粉丝: 9
- 资源: 960
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功