第一章 结构化程序设计 1
1.1 软件和编程 1
1.2 结构化程序设计 2
1.3 层次树状的结构 3
1.4 模块化 4
1.5 自顶向下方法 5
1.6 软件开发的瀑布模型 6
习题1 7
第二章 C语言回顾 8
2.1 C语言基础 8
2.1.1 编码 8
2.1.2 类型 10
2.1.3 三种控制结构 11
2.1.4 程序的结构 13
2.1.5 程序运行时的内存占用 16
2.1.6 文件 22
2.2 C语言中的指针 27
2.2.1 指针基础 27
2.2.2 指针和数组 29
2.2.3 指针的指针 30
2.2.4 更为复杂的指针 33
2.3 程序设计风格基础 35
2.3.1 程序的清晰性 36
2.3.2 程序的坚固性 46
2.3.3 程序的通用性 53
2.3.4 程序的交互性 55
2.4 用C语言实现的简单图书馆管理系统 55
习题2 75
第三章 面向对象程序设计基础 77
3.1 面向对象的由来和发展 77
3.2 类和对象 78
3.3 面向对象中的抽象 79
3.4 继承性和多态性 80
3.5 面向对象方法和原型技术 81
习题3 82
第四章 C++语言基础 83
4.1 C++的发展 83
4.2 更好的C 84
4.2.1 简洁的单行注释 84
4.2.2 严格的参数检查 85
4.2.3 引用 86
4.2.4 灵活的局部变量说明 88
4.2.5 函数的缺省值 89
4.2.6 内联函数 89
4.2.7 常量修饰 90
4.2.8 空间申请和释放 92
4.3 数据抽象和封装 93
4.3.1 类的引入 93
4.3.2 类和对象 95
4.3.3 成员函数和this指针 96
4.3.4 构造和析构 99
4.3.5 常量成员函数 100
4.3.6 友元 101
4.4 继承 103
4.5 多态性 106
4.5.1 重载 106
4.5.2 虚函数 110
4.5.3 纯虚函数与抽象类 115
4.6 文件和流 116
4.6.1 文本流的操作 117
4.6.2 二进制流的操作 121
习题4 124
第五章 UML与面向对象的分析与设计 127
5.1 统一建模语言UML概述 127
5.1.1 UML的产生和成长 127
5.1.2 UML的内容 127
5.1.3 UML的应用领域 130
5.2 统一建模语言UML的静态建模机制 130
5.2.1 用例图 130
5.2.2 类图 132
5.2.3 组件图和配置图 135
5.3 统一建模语言UML的动态建模机制 135
5.4 使用UML的过程 138
5.5 UML的应用实例:一个图书馆信息系统 139
5.5.1 需求分析 139
5.5.2 系统分析和设计 140
习题5 143
第六章 C++深入论题 144
6.1 模板 144
6.1.1 函数模板 144
6.1.2 类模板 145
6.2 异常处理 146
6.3 虚函数的实现:虚函数表 148
6.4 运行时类型信息 150
6.5 定义类的类型转换 151
6.6 类型转换新形式 153
6.7 关于继承高级论题 154
6.7.1 虚析构函数 154
6.7.2 各种不同封装的派生方式 156
6.7.3 多重继承 159
6.7.4 虚基类 162
6.7.5 指向类成员的指针 165
6.8 命名空间 167
6.9 重载的进一步研究 169
6.9.1 重载时的函数匹配 169
6.9.2 一些特殊的操作重载 171
6.10 拷贝构造函数 173
6.11 静态成员 176
习题6 178
第七章 标准模板库STL 181
7.1 容器类(Container) 182
7.2 迭代子(Iterators) 191
7.2.1 迭代子的概念 191
7.2.2 标准容器类的迭代子 192
7.2.3 适配器(Adaptors) 193
7.3 算法库 200
7.3.1 算法库简述 200
7.3.2 标准算法分类讨论 201
7.4 内存配置器(Allocator) 204
7.5 STL小结 205
习题7 205
第八章 Windows编程和MFC 207
8.1 Win32编程和事件驱动 207
8.2 一个小的Win32程序剖析 208
8.3 MFC的类体系 211
8.4 MFC中的关键技术 214
8.5 一个简单的MFC程序剖析 216
8.5.1 利用AppWizard生成MFCSample例程 217
8.5.2 例程简介 217
8.5.3 框架程序MFCSample使用的MFC类 218
8.5.4 例程MFCSample分析 219
8.6 深入MFC 229
8.6.1 CObject类 229
8.6.2 文档视图结构 232
8.6.3 MFC与对话框Dialog 234
8.6.4 MFC小结 237
习题8 237
第九章 综合实例:图书馆管理系统 238
9.1 需求 238
9.2 分析 238
9.3 设计 239
9.4 实现 247
9.4.1 类操作的实现 247
9.4.2 系统功能实现 247
9.4.3 持续性对象和对象标识实现 248
9.5 总结 255
9.6 完整代码 255
9.6.1 业务部分 255
9.6.2 用户界面部分 290
习题9 340