目 录 1
第一章面向对象的程序设计 1
1.1抽象数据类型 1
1.2类、对象和封装 3
1.2.1域 5
1.2.2方法和消息 6
1.3类型等级 6
1.3.1继承域 7
1.3.2继承方法 8
1.3.3多重继承 9
1.3.4抽象类 9
1.4多态性 10
1.5面向对象的问题求解 12
1.6划分软件为类 13
1.6.1过程和数据 13
1.6.3增加已有软件的功能 14
1.6.2与应用领域的关系 14
1.7将概念和实现转变成类等级 15
1.7.1子类作为一种设计方法 15
1.7.2子类用于具体化 16
1.7.3子类用于实现 17
1.7.4子类用于组合 17
1.7.5子类用于一般化 17
练习 18
1.7.6子类用于差别 18
第二章从C到卓越的C++ 19
2.1语言和它的历史 19
2.2 C++怎样以小的方式增强C 21
2.2.1注释 21
2.2.2枚举名 21
2.2.3结构名和类名 21
2.2.4分程序内的说明 21
2.2.9函数原型 22
2.2.7匿名联台 22
2.2.8显式类型转换 22
2.2.5作用域限定运算符 22
2.2.6 const说明符 22
2.2.10函数名重载 23
2.2.11类型检查 23
2.2.12使用缺省值的函数参数 23
2.2.13参数个数不定的函数 23
2.2.14函数中的引用参数 23
2.2.15inline说明符 24
2.2.16运算符new和delete 24
2.2.17指向void的指针和返回void的函数 24
2.3 C++怎样以大的方式增强C 24
2.3.1类和数据封装 24
2.3.5对象和消息 25
2.3.6友元 25
2.3.7类中运算符和函数名重载 25
2.3.3构造函数和析构函数 25
2.3.2结构作为一种特殊的类 25
2.3.4私有、保护和公有部分 25
2.3.8派生类 26
2.3.9虚拟函数 26
2.3.10流库 26
练习 26
第三章快速掌握C++ 27
3.1注释 27
3.2常量、类型和说明 27
3.4引用传递 35
3.3 C++运算符 35
3.5指针 39
3.6 const说明符 49
3.7枚举类型 50
3.8匿名联合 51
3.9显式类型转换 52
3.10函数 53
3.10.1函数原型 53
3.10.2内联函数 54
3.10.3缺省参数 54
3.10.4函数名重载 55
3.10.5参数个数不定的函数 56
3.10.6指向函数的指针和类属 57
3.11 C++系统的文件和物理组织 63
练习 64
第四章使用类封装数据和隐藏数据 67
4.1过程语言、数据抽象、封装和数据隐藏 67
4.2 C++类简介 68
4.3类中自引用 76
4.4构造函数和析构函数 78
4.5类对象用作成员 81
4.6对象向量 83
4.7友元 85
4.8类的静态成员 87
4.9运算符重载 87
4.9.1二元和一元运算符 89
4.9.2运算符重载的几个例子 90
4.9.3<iostream.h>库 107
4.10用户定义的类型转换 112
4.11初始化和赋值 120
4.12内存管理 125
4.13几个基础类 136
4.13.1类属链表 136
4.13.2以二叉搜索树实现的类属搜索表 142
练习 158
第五章继承和派生类 162
5.1派生类 163
5.2父类带有构造函数的派生类 168
5.3多重继承 171
5.4派生类的几个例子 179
5.4.1派生的计数器类 179
5.4.2一个大学的类系统 182
5.4.3从类属链表派生的栈和队 188
练习 194
第六章多态性和虚拟函数 197
6.1虚拟函数 197
6.2建立链表的面向对象的解法 206
6.2.1异质链表的非多态解法 207
6.2.2非面向对象系统的维护性 216
6.2.3异质链表的面向对象的解法 222
6.2.4面向对象系统的维护性 234
6.3使用多态性的异质搜索树 236
6.4使用多态性的有限状态机 244
练习 252
第七章面向对象的程序设计实例研究 253
7.1快速拼写检查器 253
7.1.1拼写检查器的定义? 253
7.1.2拼写检查器的高层设计 253
7.1.3拼写检查器的低层实现 258
7.1.4拼写检查器的实现 258
7.2银行出纳员离散事件仿真 275
7.2.1排队系统仿真的定义 275
7.2.2排队系统仿真的高层设计 276
7.2.4排队系统仿真的实现 282
7.2.3排队系统仿真的低层实现 282
7.2.5排队系统仿真的维护性 304
7.3交互式函数计算器 311
7.3.1函数计算器的定义 311
7.3.2表达式树 314
7.3.3函数计算器的高层设计 320
7.3.4函数计算器的低层设计 329
7.3.5函数计算器的完整实现 338
练习 361
附录A C++编译器简介 362
A.1 ZORTECH C++2.0 362
A.1.1特点 362
A.1.2安装 362
A.1.3程序的编辑、编译和运行 363
A.2 TURBOC C++1.0 365
A.2.1特点 365
A.2.2安装 365
A.2.3程序的编辑、编译和运行 365