目录 1
第1章 绪论 1
1.1 面向对象方法的起源 1
1.2 面向对象是软件方法学的返璞归真 2
1.3 结构化程序设计与面向对象程序设计 3
1.4 面向对象的基本概念和面向对象系统的特性 5
1.4.1 面向对象的基本概念 5
1.4.2 面向对象系统的特性 7
1.5 面向对象程序设计语言的四大家族 8
1.6 面向对象的系统开发方法 9
1.6.1 面向对象分析OOA 9
1.6.2 面向对象设计OOD 11
1.6.3 OOA和OOD的基本步骤 11
1.7 面向对象程序设计举例 13
习题 15
第2章 C++语言对C语言的扩充 16
2.1 C++语言的特点 16
2.3 注释符 17
2.4 名字空间(namespace) 17
2.2 C++语言的文件扩展名 17
2.5 C++语言的输入输出 18
2.6 变量的定义 19
2.7 强制类型转换 20
2.8 动态内存的分配与释放 20
2.9 作用域运算符(∷) 23
2.10 引用 24
2.11 const修饰符 28
2.13.1 函数原型(function prototype) 30
2.13 C++语言中函数的新特性 30
2.12 字符串 30
2.13.2 内联(inline)函数 31
2.13.3 带默认参数的函数 32
2.13.4 函数重载(overload) 33
2.13.5 函数模板(function template) 35
习题 38
第3章 类和对象 40
3.1 类 40
3.1.1 类的定义 40
3.1.2 类中成员函数的定义 42
3.2 对象 45
3.3 构造函数和析构函数 51
3.3.1 构造函数 52
3.3.2 析构函数 65
3.4 类的聚集——对象成员 67
3.5 静态成员 70
3.6 指向类成员的指针 76
3.7 综合举例 79
习题 85
4.1 友元的概念和定义 87
第4章 友元 87
4.2 友元函数 89
4.3 友元成员 95
4.4 友元类 96
4.5 友元综合举例 99
习题 102
第5章 继承与派生 103
5.1 单一继承 103
5.1.1 继承与派生 103
5.1.2 派生类的定义 104
5.1.3 类的继承方式 106
5.1.4 派生类的构造函数和析构函数 110
5.1.5 派生类对基类成员的继承 117
5.2 多重继承 118
5.2.1 多重继承的概念和定义 118
5.2.2 二义性和支配规则 119
5.2.3 赋值兼容规则 120
5.3 虚基类 121
5.3.1 虚基类的概念 121
5.3.2 多重继承的构造函数和析构函数 122
5.4 类模板 125
5.5 应用举例 130
习题 140
第6章 多态性和虚函数 142
6.1 运算符重载 142
6.1.1 运算符重载概述 142
6.1.2 用成员函数重载运算符 143
6.1.3 用友元函数重载运算符 146
6.1.4 几个常用运算符的重载 152
6.2.1 为什么要引入虚函数 162
6.2 虚函数 162
6.2.2 虚函数的定义与使用 164
6.3 纯虚函数和抽象类 175
6.3.1 纯虚函数的概念 175
6.3.2 抽象类的概念 176
6.4 虚析构函数 178
习题 179
7.1 C++语言标准输入输出 182
7.1.1 C++语言输入输出流库简介 182
第7章 C++语言的输入输出流库 182
7.1.2 C++语言格式化输入输出 184
7.2 用户自定义类型的I/O流 192
7.3 文件输入输出流 195
7.3.1 文件I/O流 195
7.3.2 文件的打开与关闭 196
7.3.3 文件的读写操作 198
习题 204
第8章 异常处理 206
8.1 异常处理概述 206
8.2 C++语言异常处理的实现 207
8.3 重新抛出异常和异常规范 213
8.4 C++标准库中的异常类 215
习题 216
第9章 Windows编程基础和MFC编程基础 217
9.1 Windows编程基础 217
9.2 MFC编程基础 223
9.2.1 MFC编程概述 223
9.2.2 MFC的类层次 224
9.2.3 常用的MFC类 231
9.2.4 MFC应用程序的消息映射 246
9.2.5 一个最简单的MFC应用程序 248
9.2.6 典型的Windows应用程序 250
习题 252
第10章 对话框和控件 253
10.1 对话框和控件的基本概念 253
10.1.1 对话框的基本概念 253
10.1.2 控件的基本概念 255
10.2 使用AppWizard开发MFC应用程序 255
10.2.1 生成基于对话框的MFC应用程序框架 256
10.2.2 使用AppWizard工具生成的程序和改变了的工程工作区 261
10.3.1 按钮控件 263
10.3 基本控件 263
10.3.2 编辑框控件(文本框控件) 264
10.3.3 静态控件 266
10.3.4 列表框控件 266
10.3.5 滚动条控件 267
10.3.6 组合框控件 268
10.3.7 基本控件应用举例 269
10.4.1 CColorDialog类 286
10.4 通用对话框 286
10.4.2 CFileDialog类 287
10.4.3 CFindReplaceDialog类 288
10.4.4 CFontDialog类 289
10.4.5 CPrintDialog类 290
10.4.6 通用对话框应用举例 291
习题 293
第11章 菜单和文档/视图结构 294
11.1 文档/视图的概念 294
11.2 文档类 295
11.3 视图类 296
11.4 菜单 297
11.5 菜单和文档/视图结构程序设计举例 298
习题 307
第12章 图形设备接口 308
12.1 设备环境 308
12.2 映射模式 310
12.3 绘制基本图形 310
12.4.1 画笔 312
12.4 画笔和画刷 312
12.4.2 画刷 314
12.4.3 画笔和画刷的应用程序举例 315
12.5 字体 316
习题 319
附录A 程序的调试与运行 320
附录B 标准字符ASCⅡ表 342
附录C 实验 344
附录D 模拟考试题 350
附录E 参考课时安排 356