第一部分 C+++基础 1
第一章 面向对象 1
1.1 简介 1
1.2 抽象 1
1.3 设计一个电讯系统 2
1.4 电讯系统的再思考 2
1.5 在基本抽象基础上建立系统 3
1.6 结论 4
第二章 C+++及编程基础 5
2.1 简介 5
2.2 什么是程序设计? 5
2.3 源代码文件的命名约定 6
2.4 编译器 6
2.5 程序的产生和执行 6
2.6 BorlandC+++3.1编译器 6
2.7 Borland的程序管理器 6
2.8 IDE平台 7
2.9 非菜单系统下的编译过程 17
2.10 一个C+++程序 17
2.11 解释C+++实例程序 18
2.12 小结 19
第三章数据类型、标识符和关键字 20
3.1 简介 20
3.2 数据类型 20
3.3 标识符和关键字 20
3.4 整数 20
3.5 字符型数据 22
3.6 浮点型 24
3.7 双精度数据类型 25
3.8 常量数据类型 25
3.9 识别大小写的能力 25
3.10 保留的关键字 26
3.11 小结 27
第四章 存储分类符和作用域 28
4.1 简介 28
4.2 自动变量声明 28
4.3 静态变量声明 30
4.4 外部变量声明 31
4.5 寄存器变量声明 34
4.6 变量期间 34
4.7 小结 35
第五章运算符、优先级和结合性 36
5.1 简介 36
5.2 算术运算符、赋值运算符和取模运算符 36
5.3 增量和减量运算符 37
5.4 复合运算符 38
5.5 逻辑与运算符 39
5.6 逻辑或运算符 40
5.7 位运算符 41
5.8 new和delete运算符 45
5.9 sizeof运算符 45
5.10 条件(即三元)运算符 45
5.11 优先级与结合性 46
5.12 小结 47
第六章 控制结构 48
6.1 简介 48
6.2 IF和IF-ELSE语句 48
6.3 WHILE语句 51
6.4 DO-WHILE语句 52
6.5 FOR语句 54
6.6 SWITCH语句 57
6.7 CONTINUE和GOTO语句 62
6.8 小结 64
第七章 函数 65
7.1 简介 65
7.2 一个比方 65
7.3 MAINO和函数 65
7.4 必须要有函数原型 68
7.5 函数原型必须与函数定义相一致 68
7.6 VOID是合法的参数和返回类型 69
7.7 如果函数有返回值,则RETURN语句必须存在 69
7.8 函数名不必唯 70
7.9 多个参数是合法的 73
7.10 参数表中可以包含省略符 79
7.11 INLINE函数 79
7.12 递归函数 80
7.13 小结 81
第八章 数组 83
8.1 简介 83
8.2 数组表示 83
8.3 数组在内存中如何存储 84
8.4 数组的其它特性 85
8.5 小结 88
第九章 指针 89
9.1 简介 89
9.2 一个比方 89
9.3 内存地址 91
9.4 数组指针 93
9.5 字符串指针 97
9.6 函数参数指针 98
9.7 指针运算 99
9.8 引用参数 101
9.9 小结 103
第十章 结构 104
10.1 简介 104
10.2 结构的概念 104
10.3 结构声明 104
10.4 结构成员的赋值 106
10.5 结构数组 107
10.6 结构变量指针 109
10.7 指针作为结构成员 111
10.8 用结构作结构成员 113
10.9 在函数内修改结构变量的内容 114
10.10 小结 115
第二部分C+++增强特性 116
第十一章 类机制 116
11.1 简介 116
11.2 C+++中的结构 116
11.3 C+++中的类机制 120
11.4 一些常见错误 124
11.5 小结 131
第十二章 类作用域和类成员访问 132
12.1 简介 132
12.2 类声明 132
12.3 类名作用域 132
12.4 类成员的数据类型 137
12.5 类成员的存取说明符 139
12.6 类成员的存取说明符 141
12.7 类成员函数 146
12.8 友元(FRIEND)函数 146
12.9 内联(INLINE)函数 150
12.10 小结 152
第十三章 派生类 153
13.1 简介 153
13.2 简单的C+++应用 153
13.3 C+++派生类 161
13.4 小结 167
第十四章 派生类的存取权限 168
14.1 简介 168
14.2 类中的保护的成员 168
14.3 公共派生类的存取权限 172
14.4 私有派生类的存取权限 174
14.5 小结 179
第十五章 构造函数和析构函数 180
15.1 简介 180
15.2 构造函数简介 180
15.3 缺省的构造函数 181
15.4 带参数的构造函数 184
15.5 带默认参数的构造函数 185
15.6 重载构造函数 186
15.7 构造函数的调用顺序 187
15.8 带参数的基类构造函数 191
15.9 析构函数 195
15.10 析构函数的调用顺序 196
15.11 小结 198
第十六章 虚函数与多态性 199
16.1 简介 199
16.2 回顾一下指针 199
16.3 类指针 199
16.4 派生类指针 200
16.5 虚函数 205
16.6 什么是虚函数 209
16.7 什么是早期联编和后期联编 209
16.8 小结 210
第十七章 虚函数与抽象类 211
17.1 简介 211
17.2 虚函数的灵活性 211
17.3 虚函数特例 215
17.4 纯虚函数与抽象类 219
17.5 小结 222
第十八章 运算符重载 223
18.1 简介 223
18.2 运算符重载很普通 223
18.3 运算符重载的句法 224
18.4 不要偏用运算符重载 229
18.5 重载的运算符只不过是函数调用 230
18.6 运算符重载的优点 234
18.7 运算符重载的缺点 235
18.8 小结 235
第十九章 运算符重载,this和friend 236
19.1 简介 236
19.2 双目和单目重载运算符 236
19.3 运算符重载的限制 237
19.4 运算符重载的表达句法 237
19.5 this指针 240
19.6 FRIEND函数 244
19.7 小结 248
第二十章 C+++的预处理程序指令 249
20.1 简介 249
20.2 C+++的预处理程序 249
20.3 INCLUDE(包含)文件 250
20.4 简单的字符串替换 252
20.5 不带参数的宏(Macros) 252
20.6 带参数的宏 253
20.7 取消宏定义 255
20.8 条件编译 256
20.9 #PRAGMA 259
20.10 小结 259
附录A 术语汇编 261
附录B C+++句法 264