目录 1
第1章 计算机和C++编程入门 1
1.1 计算机系统 1
1.2 编程和问题求解 10
1.3 C++入门 14
1.4 测试和调试 22
小结 23
自测题答案 24
编程项目 25
第2章 C++基础知识 27
2.1 变量和赋值 28
2.2 输入和输出 35
2.3 数据类型和表达式 42
2.4 简单控制流程 50
2.5 程序风格 64
小结 67
自测题答案 68
编程项目 71
第3章 过程抽象和返回一个值的函数 73
3.1 自顶向下设计 74
3.2 预定义函数 74
3.3 程序员自定义函数 81
3.4 过程抽象 87
3.5 局部变量 95
3.6 重载函数名称 103
自测题答案 109
小结 109
编程项目 112
第4章 所有子任务的函数 114
4.1 void 函数 114
4.2 传引用调用形参 119
4.3 使用过程抽象 129
4.4 测试和调试函数 135
小结 138
自测题答案 139
编程项目 141
第5章 I/O流——对象和类入门 144
5.1 流和基本文件I/O 145
5.2 流I/O 工具 158
5.3 字符I/O 167
5.4 继承 180
小结 186
自测题答案 187
编程项目 191
第6章 定义类 194
6.1 结构 195
6.2 类 203
6.3 抽象数据类型 227
小结 233
自测题答案 233
编程项目 237
第7章 更多的控制流程 240
7.1 使用布尔表达式 241
7.2 多路分支 247
7.3 C++循环语句详解 261
7.4 设计循环 272
小结 281
自测题答案 282
编程项目 285
第8章 友元函数和重载操作符 289
8.1 友元函数 289
8.2 重载操作符 305
小结 317
自测题答案 317
编程项目 321
第9章 独立编译和命名空间 323
9.1 独立编译 323
9.2 命名空间 334
小结 345
自测题答案 345
编程项目 346
第10章 数组 347
10.1 数组入门 348
10.2 函数中的数组 354
10.3 数组编程 370
10.4 数组和类 377
10.5 多维数组 384
小结 389
自测题答案 390
编程项目 394
第11章 字符串和向量 399
11.1 字符串的一种数组类型 400
11.2 标准string类 412
11.3 量 424
小结 428
自测题答案 429
编程项目 430
第12章 指针和动态数组 433
12.1 指针 434
12.2 动态数组 442
12.3 类和动态数组 450
小结 461
自测题答案 462
编程项目 463
第13章 递归 465
13.1 面向任务的递归函数 466
13.2 面向值的递归函数 475
13.3 递归思想 478
小结 488
自测题答案 488
编程项目 491
第14章 模板 493
14.1 用于算法抽象的模板 493
14.2 用于数据抽象的模板 502
小结 508
自测题答案 508
编程项目 510
第15章 指针和链表 512
15.1 节点和链表 512
15.2 一个链表应用程序 528
小结 536
自测题答案 537
编程项目 538
第16章 继承 541
16.1 继承基础 542
16.2 继承细节 557
16.3 多态性 559
小结 570
自测题答案 570
编程项目 573
第17章 异常处理 576
17.1 异常处理基础 577
17.2 用于异常处理编程技术 591
小结 594
编程项目 595
自测题答案 595
第18章 标准模板库 597
18.1 代器 598
18.2 容器 610
18.3 泛型算法 619
小结 629
自测题答案 630
编程项目 631
附录1 C++关键字 633
附录2 操作符的优先级 634
附录3 ASCII字符集 635
附录4 部分库函数 636
附录5 assert语句 639
附录6 内联函数 640
附录7 重载数据索引方括号 641
附录8 this指针 642
附录9 将操作符重载为成员操作符 644