10-6 类作用域
10.6 类作用域
在类中定义的名称的作用域是整个类,只在该类中是已知的。
10.6.1作用域为类的常量
例如:类声明可能需要使用字面值30来指定数组的长度。
class Brakery{ |
但是,因为声明只是描述了对象的形式,并没有创建变量,因此类声明中没有存储值的空间。所以常量不能被赋值
处理方法
1.使用枚举
注意:因为枚举并不创建类数据成员,所以在类中声明的枚举不会在对象中出现。
class Brakery{ |
2.使用static
class Brakery{ |
该常量将与所有静态变量存储在一起,而不是存储在类中,所以能做到
10.6.2作用域内枚举(c++11)
传统枚举会因为两个枚举内的常量名称一致而引发冲突
作用域内枚举可以有效避免这个问题
enum class egg {Small,Medium,Large};//作用域egg |
作用域内枚举不能隐式转化为整形
发布于