第1章 计算与面向对象设计方法学 1
1.1 基本计算术语 1
1.2 软件 13
1.3 工程软件 18
1.4 面向对象设计 23
1.5 记忆要点 30
1.6 参考文献 31
1.7 习题 31
第2章 C++基础 35
2.1 程序组织 35
2.2 第一个程序 35
2.3 第二个程序 37
2.4 注释 38
2.5 赋值 40
2.6 基本的C++对象 41
2.7 常数 44
2.8 名字 51
2.9 定义 54
2.10 表达式 57
2.11 输出语句 67
2.12 计算平均速度 69
2.13 记忆要点 72
2.14 习题 74
第3章 修改对象 78
3.1 赋值 78
3.2 const定义 82
3.3 输入语句 83
3.4 计算碳氢化合物的分子数 85
3.5 复合赋值 88
3.6 增量和减量 90
3.7 年度存款的估算 92
3.8 字符串类 94
3.9 EzWindows 101
3.10 草地割草 105
3.11 记忆要点 110
3.12 习题 112
第4章 控制结构 117
4.1 布尔代数 117
4.2 布尔类型 119
4.3 if语句的条件执行过程 126
4.4 switch语句的条件执行过程 137
4.5 按要求计算表达式 141
4.6 判定日期的有效性 144
4.7 使用while语句的循环 150
4.8 简单的串和字符处理 156
4.9 使用for结构的循环 165
4.10 简单的数据可视化 172
4.11 解答懒汉谜题 174
4.12 使用do结构的循环 175
4.13 记忆要点 178
4.14 习题 179
第5章 函数基础 188
5.1 函数的基本概念 188
5.2 预处理器 196
5.3 使用软件库 199
5.4 iostream库 200
5.5 iomanip库 203
5.6 fstream库 209
5.7 随机数 215
5.8 assert库 220
5.9 记忆要点 223
5.10 参考文献 224
5.11 习题 224
第6章 程序员定义的函数 229
6.1 基本概念 229
6.2 一个诱人的问题 232
6.3 一些有用的函数 237
6.4 二次多项式的积分 239
6.5 局部作用域 242
6.6 全局作用域 245
6.7 引用参数 249
6.8 按引用传递对象 257
6.9 验证电话访问密码 261
6.10 常量参数 264
6.11 默认参数 267
6.12 函数参数的类型转换 269
6.13 函数重载 269
6.14 递归函数 273
6.15 显示股价区间图 278
6.16 记忆要点 286
6.18 习题 288
6.17 参考文献 288
第7章 类结构与面向对象的设计 305
7.1 程序员定义的数据类型简介 305
7.2 RectangleShape类 307
7.3 使用RectangleShape类 315
7.4 构造函数 318
7.5 制作万花筒 320
7.6 面向对象的分析与设计 325
7.7 记忆要点 334
7.8 参考文献 334
7.9 习题 335
第8章 抽象数据类型的实现 339
8.1 抽象数据类型简介 339
8.2 有理数Rational ADT的基础 340
8.3 有理数Rational类接口描述 345
8.4 实现有理数类 354
8.5 拷贝构造函数、成员赋值和析构函数 361
8.6 一个伪随机整数的ADT 368
8.7 红-黄-绿游戏 374
8.8 记忆要点 391
8.9 习题 393
第9章 列表 398
9.1 命名集合 398
9.2 一维数组 399
9.3 数组作为参数 410
9.4 排序 413
9.5 容器类 418
9.6 向量类 420
9.7 快速排序法 433
9.8 二分搜索 438
9.9 重温串类 440
9.10 寻找单词——剖析二维列表 442
9.11 迷宫导航员 447
9.12 多维数组 468
9.13 记忆要点 472
9.14 习题 474
第10章 EzWindows API的详细考查 481
10.1 应用程序员界面 481
10.2 一个简单的窗口类 482
10.3 Bitmap类 491
10.4 鼠标事件 494
10.5 位图和鼠标事件 498
10.6 定时器事件 501
10.7 警示消息 504
10.8 西蒙说 506
10.9 记忆要点 522
10.10 习题 522
第11章 指针与动态内存分配 527
11.1 左值和右值 527
11.2 指针的基础知识 528
11.3 常量指针和指向常量的指针 538
11.4 数组与指针 539
11.5 字符串处理 542
11.6 程序的命令行参数 545
11.7 指向函数的指针 548
11.8 动态对象 551
11.9 表示整型值列表的一个简单的ADT 556
11.10 记忆要点 566
11.11 习题 567
第12章 测试与排错 575
12.1 测试 575
12.2 排错 591
12.3 记忆要点 600
12.4 参考文献 601
12.5 习题 601
13.1 继承在面向对象设计中的应用 602
第13章 继承 602
13.2 通过继承实现程序的重用 603
13.3 图形的层次体系 605
13.4 保护成员与继承 618
13.5 控制继承 621
13.6 多继承 625
13.7 一个更漂亮的万花筒 633
13.8 记忆要点 644
13.9 习题 645
第14章 模板与多态性 649
14.1 通用行为与类型 649
14.2 函数模板 649
14.3 类模板 652
14.4 使用类模板的一个简单的类表 653
14.5 顺序表 661
14.6 多态性 679
14.7 虚函数的细微差异 681
14.8 抽象基类 684
14.9 虚多继承 687
14.10 记忆要点 691
14.11 习题 692
第15章 软件项目——捕杀虫子 697
15.1 捕捉虫子 697
15.2 基类BUG 698
15.3 类GAMECONTROLLER 710
15.4 捕捉虫子 713
15.6 习题 715
15.5 记忆要点 715
附录A 表 717
A.1 ASCII码字符集 717
A.2 操作符优先级 718
附录 B 标准库 719
B.1 库命名及其访问 719
B.2 IOSTREAM库 719
B.3 STDLIB库 720
B.4 MATH库 721
B.5 TIME库 722
B.6 CSTRING库 723
B.7 ALGORITHM库 724
附录C 标准类 728
C.1 容器类 728
C.2 STRING类 731
附录D 高级话题 734
D.1 名字作用域 734
D.2 导常的处理 739
D.3 友元 744
附录E EzWindows API参考手册 746
E.1 枚举类型 746
E.2 坐标系统 746
E.3 类POSITION 747
E.4 类SIMPLEWINDOW 747
E.5 类WINDOWOBJECT 750
E.6 类RAYSEGMENT 750
E.7 类SHAPE 752
E.8 类ELLIPSESHAPE 753
E.9 类CIRCLESHAPE 754
E.10 类RECTANGLESHAPE 754
E.11 类TRIANGLESHAPE 756
E.12 类SQUARESHAPE 756
E.13 LABEL类 757
E.14 类BITMAP 758
E.15 类RANDOMINT 760
E.16 其他函数 760
附录F 项目和makefiles 761
F.1 项目和makefile基础 761
F.2 Borland C++IDE 761
F.3 Microsoft Visual C++IDE 766
F.4 UNIX makefiles 771