第一部分 C++基础 1
第一章 面向对象 1
1.1 简介 1
1.2 抽象 1
目录 1
1.3 设计一个电讯系统 2
1.4 电讯系统的再思考 2
1.5 在基本抽象基础上建立系统 3
1.6 结论 4
第二章 C++及编程基础 5
2.1 简介 5
2.2 什么是程序设计? 5
2.6 Borland C++ 3.1编译器 6
2.7 Borland的程序管理器 6
2.4 编译器 6
2.5 程序的产生和执行 6
2.3 源代码文件的命名约定 6
2.8 IDE平台 7
2.8.1 编辑窗口 7
2.8.2 联机(On-Line)帮助 14
2.8.3 编辑、编译和运行过程 16
2.9 非菜单系统下的编译过程 17
2.10 一个C++程序 17
2.11 解释C++实例程序 18
2.12 小结 19
3.4 整数 20
3.3 标识符和关键字 20
3.1 简介 20
第三章 数据类型、标识符和关键字 20
3.2 数据类型 20
3.4.1 短整数和长整数 21
3.4.2 无符号整数 21
3.4.3 长整数和无符号常量 22
3.5 字符型数据 22
3.6 浮点型 24
3.7 双精度数据类型 25
3.8 常量数据类型 25
3.9 识别大小写的能力 25
3.10 保留的关键字 26
3.11 小结 27
4.2 自动变量声明 28
第四章 存储分类符和作用域 28
4.1 简介 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.1 左移位和右移位运算符 41
5.7 位运算符 41
5.7.2 按位与运算符 42
5.7.3 按位或运算符 43
5.7.4 按位异或运算符 44
5.8 new和delete运算符 45
5.9 sizeof运算符 45
5.10 条件(即三元)运算符 45
5.11 优先级与结合性 46
5.12 小结 47
6.1 简介 48
6.2 IF和IF-ELSE语句 48
第六章 控制结构 48
6.3 WHILE语句 51
6.4 DO-WHILE语句 52
6.5 FOR语句 54
6.5.1 无参数的FOR循环 56
6.5.2 在括号外条件改变 56
6.6 SWITCH语句 57
6.6.1 case结构的顺序 60
6.6.2 以字符作开关量 60
6.6 3 整数和字符混用 61
6.7 CONTINUE和GOTO语句 62
6.8 小结 64
7.3 MAIN()和函数 65
7.2 一个比方 65
7.1 简介 65
第七章 函数 65
7.4 必须要有函数原型 68
7.5 函数原型必须与函数定义相一致 68
7.6 VOID是合法的参数和返回类型 69
7.7 如果函数有返回值,则RETURN语句必须存在 69
7.8 函数名不必唯一 70
7.9 多个参数是合法的 73
7.9.1 const修饰符 74
7.9.2 volatile修饰符 75
7.9.3 参数表中可以包含默认的初始化参数 76
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.4.1 在声明时初始化数组 86
8.4.2 数组大小的说明可以省略 87
8.4.3 数组可以传递给函数 87
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
12.2 类声明 132
12.3 类名作用域 132
12.1 简介 132
第十二章 类作用域和类成员访问 132
12.4 类成员的数据类型 137
12.5 类成员的存取说明符 139
12.5.1 静态类成员 140
12.6 类成员的存取说明符 141
12.6.1 公共(public)存取 141
12.6.2 私有(private)存取 143
12.6.3 保护(protected)存取 146
12.7 类成员函数 146
12.8 友元(FRIEND)函数 146
12.9 内联(INLINE)函数 150
12.10 小结 152
13.2 简单的C++应用 153
13.1 简介 153
第十三章 派生类 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.7 什么是早期联编和后期联编 209
16.6 什么是虚函数 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.8.1 #if和#endif 256
20.8.2 #if,#elif和#endif 257
20.8.3 #ifdef和#endif 257
20.8.4 #ifndef和#endif 258
20.9 #PRAGMA 259
20.10 小结 259
附录A 术语汇编 261
附录B C++句法 264