含义
在类中定义的名称(成员数据名和成员函数名)的作用域为整个类。
不同类的类成员名可以相同
不能从外部直接访问类的成员,公有成员函数要 sleeper.show( ),即<br>要有对象。
公有函数定义要加 ::
作用域内枚举(C++11)
传统枚举:两个枚举定义中的枚举量可能会发生冲突
enum egg {Small , Medium , Large , Jumbo };<br>enum t_shirt { Small , Medium , Large ,Xlarge };//
声明
enum class egg {Small , Medium , Large , Jumbo };<br>enum class t_shirt { Small , Medium , Large ,Xlarge };
使用
egg choice = egg::Large;
t_shirt Flory = t_shirt::Large;
特点
作用域内不能隐式地转换为整形
t_shirt rolf = t_shirt::Large;<br>int king = rolf ;//invalid;
如果一定要转换为整形
int king = ( int )rolf
那就是0 , 1 ,2,3...是有的。
其他
枚举用哪种底层类型可以设置
语法
enum <b>class : short</b> pizza { Small , Medium , Large , XLarge };