typedef可以用来定义类型的同义词,可以用作类型说明符
并没有引入新的类型,只是现有数据类型的同义词。
通常三种目的:
1.为了隐藏特定类型的实现,强调使用类型的目的
2.简化复杂的类型定义,使其更容易理解
3.允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。
为某些属性定义一组可选的值,之处这些值是相关联的。
枚举定义了整数常量集,而且还把它们聚集成组。
enum open_modes{input,output,append};
默认地,第一个枚举成员赋值为0,后面每个枚举成员赋值比前面大1。
用来初始化枚举成员的值必须是一个常量表达式(编译器在编译时就能计算出结果的整型表达式)。
不能改变枚举成员的值,枚举成员本身就是一个常量表达式。
每个enum都定义了一种新的类型,枚举类型的对象的初始化或赋值,只能通过其枚举成员或同一枚举类型的其他对象来进行。
C++通过定义类来自定义数据类型,类定义了该类型的对象所包含的数据和该类型的对象可以执行的操作。
标准库类型string、istream、ostream都定义成类。