接上篇的C++ Primer 学习札记(二)
脚印:
22.typedef 名字 可以用来定义类型的同义词,也可以用作类型说明符
23.typedef通常被用于以下三种目的:
(1)为了隐藏特定类型的实现,强调使用类型的目的。
(2)简化复杂的类型定义,使其更易理解。
(3)允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。
24.枚举:默认地,第一个枚举成员赋值为0,后面的每个枚举成员赋的值比前面的大1。
25.枚举成员是常量,可以为一个或多个成员提供初值,用来初始化枚举成员的值必须是一个常量表达式。显示初始化和隐式初始化!
26.每个enum都定义了一种唯一的类型
27.类类型(class):每个类都定义了一个接口(interface)和一个实现(implementation)。接口由使用该类型的代码需要执行的操作组成。实现一般包含该类型所需要的数据。实现还包括定义该类需要的但又不供一般性的函数。
28.类定义后面的分号要记得别忘写了!!!
29.类中的public部分定义的成员在程序的任何部分都可以访问。一般把操作放在public部分。不是类的组成部分的代码不能访问private成员。
30.struct(即C语言中的结构体),在C++中也可以定义类类型。如果使用class关键字来定义类,那么定义的第一访问标号前的任何成员都隐式指定为private;如果使用struct关键字,那么这些成员都是public。使用class还是struct关键字来定义类,仅仅影响默认的初始访问级别。
31.因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义。
32.对于头文件不应该含有定义这一规则,有三个例外。头文件可以定义类、值在编译时就已知道的const对象和inline函数。(注:这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。)
33.避免多重包含!!!所以要借助#ifndef…#endif。#ifndef指示检测指定的预处理器变量是否未定义。如果预处理器变量未定义,那么跟在后面的所有指示都被处理,直到出现#endif。