第1章 概述 1
1.1 结构化程序设计 1
1.1.1 程序设计语言的发展 1
1.1.2 结构化程序设计思想 3
1.2 面向对象程序设计 5
1.3 C++语言介绍 8
1.4 C++程序的开发环境 10
1.5 小结 13
习题一 13
第2章 C++基础 14
2.1 基本数据类型 14
2.1.1 标识符与关键字 14
2.1.2 常量 15
2.1.3 变量 17
2.2 表达式与语句 20
2.2.1 算术运算符 21
2.2.2 赋值运算符 21
2.2.3 自增、自减运算符 22
2.2.4 关系运算符 23
2.2.5 逻辑运算符 23
2.2.6 位运算符 24
2.2.7 条件运算符 27
2.2.8 逗号运算符 27
2.2.9 数据类型转换 27
2.2.10 C++语句 28
2.3 输入与输出 28
2.4 选择结构 31
2.4.1 if语句 31
2.4.2 switch语句 35
2.5 循环结构 36
2.5.1 while语句 37
2.5.2 do...while语句 38
2.5.3 for语句 39
2.5.4 循环嵌套 40
2.5.5 流程控制语句 41
2.6 复合数据类型 44
2.6.1 结构体 44
2.6.2 共用体 47
2.6.3 枚举类型 50
2.6.4 typedef 52
2.7 小结 52
习题二 53
第3章 C++函数 57
3.1 函数基础 57
3.1.1 函数定义和声明 58
3.1.2 函数调用 58
3.1.3 嵌套调用 62
3.1.4 递归调用 64
3.2 函数调用的方式 68
3.2.1 传值调用 69
3.2.2 引用调用 70
3.3 内联函数 72
3.4 带默认形参值的函数 74
3.5 函数重载 75
3.6 函数模板 78
3.7 小结 81
习题三 82
第4章 类与对象 84
4.1 概述 84
4.1.1 结构化程序设计 84
4.1.2 面向对象程序设计 86
4.2 类与对象的实现 89
4.2.1 类 89
4.2.2 数据成员 90
4.2.3 成员函数 91
4.2.4 访问控制属性 93
4.2.5 对象 94
4.3 对象的初始化和析构 96
4.3.1 构造函数 96
4.3.2 拷贝构造函数 98
4.3.3 析构函数 99
4.4 类的包含 102
4.5 类模板 106
4.6 程序举例 108
4.7 小结 117
习题四 118
第5章 数组与指针 120
5.1 数组 120
5.1.1 一维数组 120
5.1.2 二维数组 124
5.1.3 对象数组 127
5.1.4 vector容器 130
5.2 指针 134
5.2.1 指针变量 135
5.2.2 指针与数组 137
5.2.3 指针与函数 142
5.2.4 对象指针 144
5.2.5 成员指针 146
5.3 字符串 148
5.3.1 字符串的处理 149
5.3.2 字符串库函数 150
5.3.3 字符串类 151
5.4 动态内存分配 153
5.5 C++程序的结构 156
5.5.1 编译预处理 157
5.5.2 程序结构的组织 158
5.6 小结 161
习题五 161
第6章 数据共享与安全 163
6.1 作用域与生存期 163
6.1.1 作用域 163
6.1.2 生存期 168
6.2 静态成员 171
6.2.1 静态数据成员 171
6.2.2 静态成员函数 172
6.3 友元 174
6.3.1 友元函数 174
6.3.2 友元类 175
6.4 数据安全 178
6.4.1 常引用 180
6.4.2 常指针 180
6.4.3 常对象 181
6.4.4 常成员 181
6.5 小结 183
习题六 184
第7章 继承 186
7.1 概述 186
7.2 继承的实现 188
7.3 继承方式 191
7.3.1 公有继承 191
7.3.2 私有继承 192
7.3.3 保护继承 194
7.4 派生类的初始化和析构 196
7.4.1 派生类的构造函数 196
7.4.2 继承与包含 202
7.5 虚基类 202
7.5.1 多重继承 202
7.5.2 二义性 205
7.5.3 虚基类 208
7.6 向上映射 215
7.7 程序举例 218
7.8 小结 223
习题七 224
第8章 多态性 227
8.1 概述 227
8.2 运算符重载 228
8.2.1 规则 228
8.2.2 重载为成员函数 229
8.2.3 重载为友元函数 232
8.2.4 特殊运算符的重载 235
8.3 虚函数 238
8.4 抽象类 244
8.5 程序举例 251
8.6 小结 258
习题八 259
第9章 C++的输入/输出流 261
9.1 概述 261
9.2 输出流 263
9.2.1 流插入运算符 263
9.2.2 put 263
9.2.3 write 264
9.3 输入流 265
9.3.1 流提取运算符 265
9.3.2 get 265
9.3.3 getline 266
9.3.4 read 267
9.4 格式控制 268
9.4.1 成员函数 268
9.4.2 操纵符 272
9.5 文件的输入输出 276
9.5.1 文件打开与关闭 276
9.5.2 文件的顺序读写 278
9.5.3 文件的定位和状态检测 282
9.6 小结 286
习题九 286
第10章 异常处理 288
10.1 概述 288
10.2 抛出异常 289
10.3 异常捕获 290
10.4 程序举例 292
10.5 小结 294
习题十 294
第11章 C++应用 295
11.1 栈类 295
11.2 矩阵类 300
11.3 链表类 305
11.4 二叉树类 313
11.5 小结 318
习题十一 319
第12章 Windows编程初步 320
12.1 概述 320
12.1.1 Windows环境 320
12.1.2 Windows消息 323
12.1.3 事件驱动 324
12.2 WindowsAPI编程 326
12.2.1 编程基础 326
12.2.2 程序结构 328
12.2.3 完整实例 332
12.3 MFC类库 335
12.3.1 类库的功能 335
12.3.2 类库的层次 340
12.4 MFC编程 341
12.4.1 编程基础 341
12.4.2 完整实例 347
12.5 小结 348
习题十二 349
参考文献 350