结构体是一种特殊形态的类
与类的唯一区别:类的缺省访问权限是private,结构体的缺省访问权限是public
结构体存在的主要原因:与C语言保持兼容
什么时候用结构体而不用类
定义主要用来保存数据、而没有什么操作的类型
人们习惯将结构体的数据成员设为公有,因此这时用结构体更方便
联合体特点
成员共用同一组内存单元
任何两个成员不会同时有效
枚举类
枚举类定义
- 语法形式
enum class 枚举类型名: 底层类型 {枚举值列表};
- 例:
enum class Type { General, Light, Medium, Heavy};
enum class Type: char { General, Light, Medium, Heavy};
enum class Category { General=1, Pistol, MachineGun, Cannon};
优势
强作用域,其作用域限制在枚举类中。
转换限制,枚举类对象不可以与整型隐式地互相转换。
可以指定底层类型