第1章 C++入门之一:基础 1
1.1 面向对象程序设计的结构 1
1.2 函数 2
1.3 运行第一个例子 4
1.4 语句 4
1.5 while语句 5
1.6 简单条件语句 7
1.7 字符与字符输入和输出 8
1.8 其他基本结构 10
1.9 数据类型和声明 14
1.10 操作符和表达式 17
1.11 枚举 21
1.12 数组 22
1.13 指针 25
1.14 一个实例 26
1.15 迭代控制 27
1.16 通过switch进行选择 30
1.17 小结 32
习题 32
第2章 C++入门之二:基于对象的编程 34
2.1 数据抽象和数据封装 34
2.2 函数调用和参数传递 39
2.3 命令行参数 41
2.4 环境变量 42
2.5 string类 43
2.6 用对象解决问题 44
2.7 C++语言的I/O流 49
2.8 错误处理 49
2.9 基于对象的思想 52
2.10 C++语言的程序设计技巧 53
2.11 小结 54
习题 55
第3章 关键结构 57
3.1 标识符作用域 57
3.2 名称空间 60
3.3 有关声明的更多的内容 61
3.4 递归 63
3.5 分数类 66
3.6 可选参数和变长参数 69
3.7 重载函数 71
3.8 引用 73
3.9 只读变量和只读参数 74
3.10 typedef声明 76
3.11 存储分配和存储管理 76
3.12 循环缓冲区 78
3.13 隐式类型转换 83
3.14 显式类型转换 84
3.15 怎样使用头文件 85
3.16 小结 86
习题 87
第4章 数组、指针和通用代码 90
4.1 数组的概念和声明 90
4.2 指针运算和地址运算 91
4.3 二维数组 97
4.4 一个矩阵类 98
4.5 一个多项式类 101
4.6 数组对象:vector 104
4.7 使用对象来进行文本行排序 105
4.8 指针和函数调用 111
4.9 数组、指针和引用 113
4.10 多级间接引用 114
4.11 通用编程 115
4.12 一个通用排序程序 120
4.13 指针和动态分配的存储空间 122
4.14 小结 124
习题 125
5.1 定义类 128
第5章 类和对象 128
5.2 创建和初始化对象 130
5.3 宿主对象 135
5.4 内部-外部的分离 136
5.5 模拟袖珍计算器 136
5.6 对象内置的操作 144
5.7 对象销毁 144
5.8 类的友元 146
5.9 递归结构 147
5.10 实例和静态成员 153
5.11 对象的大小 158
5.12 通用列表 158
5.14 小结 162
5.13 联合与位字段 162
习题 163
第6章 I/O流和标准库 165
6.1 不同的头文件 165
6.2 C格式串的输入和输出 166
6.3 string对象 167
6.4 串权标 169
6.5 字符运算 172
6.6 数字计算 173
6.7 I/O流库 174
6.8 对象的流I/O 181
6.9 I/O操纵器 183
6.10 小结 184
习题 185
第7章 继承和类派生 187
7.1 类派生 187
7.2 派生的类和对象 189
7.3 公共派生 192
7.4 派生原理 194
7.5 类派生下的访问控制 195
7.6 私有派生 196
7.7 通用类的特殊化 198
7.8 继承下的类型关系 199
7.9 对象赋值 201
7.10 对象复制 204
7.11 派生对象赋值和复制 207
7.12 通过派生进行对象赋值和复制 208
7.13 多重继承 209
7.14 I/O流类层次结构 212
7.15 小结 213
习题 214
第8章 操作符重载、迭代器和异常 216
8.1 操作符重载 216
8.2 引用计数串类 218
8.3 重载[] 221
8.4 重载++和-- 222
8.5 灵巧的指针 222
8.6 迭代器 223
8.7 嵌套类和局部类 226
8.8 健壮的类 228
8.9 用户定义的类型转换 229
8.10 错误和异常处理 231
8.11 带异常的矩阵 237
8.12 管理空闲存储空间 238
8.13 小结 241
习题 241
第9章 面向对象程序设计技术 243
9.1 利用插入兼容的对象进行程序设计 243
9.2 运行时类型识别 249
9.3 通用树 252
9.4 设计统一的公共接口 259
9.5 插入兼容对象的销毁 266
9.6 文本行排序 267
9.7 接口 270
9.8 理解虚函数 272
9.9 设计继承 273
9.10 对象族类 274
9.11 小结 281
习题 282
第10章 模板 284
10.1 基本概念 284
1O.2 函数模板 285
10.3 类模板 290
10.4 模板的编译 294
10.5 列表模板 295
10.6 类模板特殊化 300
10.7 派生类模板 301
10.8 通用散列表 302
10.9 通用编程方法 308
10.10 小结 309
习题 310
第11章 标准的容器 312
11.1 标准模板库 312
11.2 标准容器头 313
11.3 序列容器的效率 314
11.4 使用stack 314
11.5 关联容器 315
11.6 标准的容器迭代器和typedef 318
11.7 容器的通用算法 321
11.8 有序集合 324
11.9 标准函子 326
11.11 指向成员的指针 328
11.10 STL的更多信息 328
习题 331
11.12 作为函子的实例函数 332
11.13 小结 332
习题 333
第12章 Web CGI程序设计 335
12.1 关于网络 335
12.2 Internet基础 336
12.3 万维网 338
12.4 什么是HTML 339
12.5 网页的动态生成 340
12.6 从C++产生的HTML 342
12.7 HTML的表单 344
12.8 HTTP消息格式 345
12.9 编写CGI程序 346
12.10 接收表单数据 347
12.11 处理用户反馈 349
12.12 更多的信息 351
12.13 小结 351
第13章 面向对象的设计 353
13.1 分解方法 353
13.2 面向对象的设计原则 355
13.3 设计模式 356
13.4 CRC方法 358
13.5 与已有系统的接口 358
13.6 模拟袖珍计算器 361
13.7 小结 367
习题 368
第14章 编译和预处理 369
14.1 编译和运行C++程序 369
14.2 预处理 370
14.3 头文件 370
14.4 符号常量和宏 371
14.5 内联函数与宏 373
14.6 条件文本包含 374
14.7 一次性的头文件 376
14.8 标准宏 376
14.9 编译和执行 377
习题 381
14.10 小结 381
附录A C++语言结构总结 383
附录B 特殊成员函数总结 388
附录C C格式的字符串 389
附录D 联合与位字段 391
附录E 用dbx进行交互调试 395
附录F 参数数量可变的函数 397
附录G 运算符优先级 399
附录H 隐式类型转换 400
附录I 与C共用的C++库函数 401
附录J C格式的输入/输出 408
附录K 在C与C++程序间创建接口 412
附录L 头文件 415