第1章 绪论 1
1.1 面向对象方法的起源 1
1.2 面向对象是软件方法学的返璞归真 2
1.3 结构化程序设计与面向对象程序设计 3
1.4 面向对象的基本概念和面向对象系统的特性 4
1.4.1 面向对象的基本概念 4
1.4.2 面向对象系统的特性 6
1.5 面向对象程序设计语言的四大家族 7
1.6 面向对象的系统开发方法 8
1.6.1 面向对象分析OOA 8
1.6.2 面向对象设计OOD 10
1.6.3 OOA和OOD的基本步骤 10
1.7 面向对象程序设计举例 11
习题 13
第2章 C++语言对C语言的扩充 14
2.1 C++语言的特点 14
2.2 C++语言的文件扩展名 14
2.3 注释符 15
2.4 名字空间 15
2.5 C++语言的输入输出 16
2.6 变量的定义 16
2.7 强制类型转换 17
2.8 动态内存的分配与释放 17
2.9 作用域运算符(::) 20
2.10 引用 21
2.11 const修饰符 25
2.12 字符串 26
2.13 C++语言中函数的新特性 26
2.13.1 函数原型(function prototype) 27
2.13.2 内联(inline)函数 27
2.13.3 带默认参数的函数 28
2.13.4 函数重载(overload) 29
2.13.5 函数模板(function template) 30
习题 33
第3章 类和对象 35
3.1 类 35
3.1.1 类的定义 35
3.1.2 类中成员函数的定义 37
3.2 对象 40
3.3 构造函数和析构函数 45
3.3.1 构造函数 46
3.3.2 析构函数 57
3.4 类的聚集——对象成员 59
3.5 静态成员 61
3.6 指向类成员的指针 68
3.7 综合举例 70
习题 75
第4章 友元 77
4.1 友元的概念和定义 77
4.2 友元函数 79
4.3 友元成员 84
4.4 友元类 85
4.5 友元综合举例 87
习题 89
第5章 继承与派生 90
5.1 单一继承 90
5.1.1 继承与派生 90
5.1.2 派生类的定义 91
5.1.3 类的继承方式 92
5.1.4 派生类的构造函数和析构函数 96
5.1.5 派生类对基类成员的继承 101
5.2 多重继承 103
5.2.1 多重继承的概念和定义 103
5.2.2 二义性和支配规则 104
5.2.3 赋值兼容规则 105
5.3 虚基类 105
5.3.1 虚基类的概念 105
5.3.2 多重继承的构造函数和析构函数 107
5.4 类模板 109
5.5 应用举例 113
习题 121
第6章 多态性和虚函数 123
6.1 运算符重载 123
6.1.1 运算符重载概述 123
6.1.2 用成员函数重载运算符 124
6.1.3 用友元函数重载运算符 129
6.1.4 几个常用运算符的重载 133
6.2 虚函数 142
6.2.1 为什么要引入虚函数 142
6.2.2 虚函数的定义与使用 143
6.3 纯虚函数和抽象类 153
6.3.1 纯虚函数的概念 153
6.3.2 抽象类的概念 153
6.4 虚析构函数 155
习题 156
第7章 C++语言的输入输出流库 159
7.1 C++语言标准输入输出 159
7.1.1 C++语言输入输出流库简介 159
7.1.2 C++语言格式化输入输出 161
7.2 用户自定义数据类型的I/O流 169
7.3 文件输入输出流 171
7.3.1 文件I/O流 171
7.3.2 文件的打开与关闭 171
7.3.3 文件的读写操作 174
习题 180
第8章 异常处理 181
8.1 异常处理概述 181
8.2 C++语言异常处理的实现 182
8.3 重新抛出异常和异常规范 187
8.4 C++标准库中的异常类 188
习题 189
第9章 Windows编程基础和MFC编程基础 190
9.1 Windows编程基础 190
9.2 MFC编程基础 196
9.2.1 MFC编程概述 196
9.2.2 MFC的类层次 196
9.2.3 常用的MFC类 202
9.2.4 MFC应用程序的消息映射 216
9.2.5 一个最简单的MFC应用程序 218
9.2.6 典型的Windows应用程序 220
习题 221
第10章 对话框和控件 222
10.1 对话框和控件的基本概念 222
10.1.1 对话框的基本概念 222
10.1.2 控件的基本概念 223
10.2 使用AppWizard开发MFC应用程序 224
10.2.1 生成基于对话框的MFC应用程序框架 224
10.2.2 AppWizard向导自动生成的文件 228
10.3 基本控件 231
10.3.1 按钮控件 231
10.3.2 编辑框控件(文本框控件) 232
10.3.3 静态控件 233
10.3.4 列表框控件 234
10.3.5 滚动条控件 235
10.3.6 组合框控件 235
10.3.7 基本控件应用举例 236
10.4 通用对话框 251
10.4.1 CColorDialog类 252
10.4.2 CFileDialog类 252
10.4.3 CFindReplaceDialog类 253
10.4.4 CFontDialog类 254
10.4.5 CPrintDialog类 255
10.4.6 通用对话框应用举例 256
习题 258
第11章 菜单和文档/视图结构 259
11.1 文档/视图的概念 259
11.2 文档类 260
11.3 视图类 261
11.4 菜单 262
11.5 菜单和文档/视图结构程序设计举例 263
习题 270
第12章 图形设备接口 271
12.1 设备环境 271
12.2 映射模式 272
12.3 绘制基本图形 273
12.4 画笔和画刷 275
12.4.1 画笔 275
12.4.2 画刷 276
12.4.3 画笔和画刷的应用程序举例 277
12.5 字体 278
习题 281
附录A 程序的调试与运行 282
附录B 标准字符ASCII表 302
附录C 实验 304
附录D 模拟考试题一 309
附录E 模拟考试题二 318
附录F 参考课时安排 326
主要参考文献 327