第1章 绪论 1
1.1面向对象方法的起源 1
1.2面向对象是软件方法学的返璞归真 2
1.3结构化程序设计与面向对象程序设计 3
1.4面向对象的基本概念和面向对象系统的特性 5
1.4.1面向对象的基本概念 5
1.4.2面向对象系统的特性 6
1.5面向对象程序设计语言的四大家族 7
1.6面向对象的系统开发方法 8
1.6.1面向对象分析OOA 9
1.6.2面向对象设计OOD 10
1.6.3 OOA和OOD的基本步骤 11
1.7面向对象程序设计举例 12
习题 14
第2章 C++语言对C语言的扩充 15
2.1 C++语言的特点 15
2.2 C++语言的文件扩展名 15
2.3注释符 16
2.4名字空间 16
2.5 C++语言的输入输出 17
2.6变量的定义 18
2.7强制类型转换 18
2.8动态内存的分配与释放 19
2.9作用域运算符(::) 22
2.10引用 22
2.11 const修饰符 27
2.12字符串 28
2.13 C++语言中函数的新特性 29
2.13.1函数原型(function prototype) 29
2.13.2内联(inline)函数 29
2.13.3带默认参数的函数 30
2.13.4函数重载(overload) 31
2.13.5函数模板(function template) 33
习题 36
第3章 类和对象 38
3.1类 38
3.1.1类的定义 38
3.1.2类中成员函数的定义 40
3.2对象 43
3.3构造函数和析构函数 49
3.3.1构造函数 50
3.3.2析构函数 62
3.4类的聚集——对象成员 64
3.5静态成员 66
3.6指向类成员的指针 73
3.7综合举例 76
习题 81
第4章 友元 83
4.1友元的概念和定义 83
4.2友元函数 85
4.3友元成员 91
4.4友元类 92
4.5友元综合举例 95
习题 97
第5章 继承与派生 98
5.1单一继承 98
5.1.1继承与派生 98
5.1.2派生类的定义 99
5.1.3类的继承方式 101
5.1.4派生类的构造函数和析构函数 105
5.1.5派生类对基类成员的继承 111
5.2多重继承 112
5.2.1多重继承的概念和定义 112
5.2.2二义性和支配规则 113
5.2.3赋值兼容规则 114
5.3虚基类 115
5.3.1虚基类的概念 115
5.3.2多重继承的构造函数和析构函数 116
5.4类模板 119
5.5应用举例 123
习题 132
第6章 多态性和虚函数 134
6.1运算符重载 134
6.1.1运算符重载概述 134
6.1.2用成员函数重载运算符 135
6.1.3用友元函数重载运算符 140
6.1.4几个常用运算符的重载 145
6.2虚函数 155
6.2.1为什么要引入虚函数 155
6.2.2虚函数的定义与使用 156
6.3纯虚函数和抽象类 167
6.3.1纯虚函数的概念 167
6.3.2抽象类的概念 167
6.4虚析构函数 169
习题 171
第7章 C++语言的输入输出流库 174
7.1 C++语言标准输入输出 174
7.1.1 C++语言输入输出流库简介 174
7.1.2 C++语言格式化输入输出 176
7.2用户自定义数据类型的1/O流 184
7.3文件输入输出流 187
7.3.1文件1/O流 187
7.3.2文件的打开与关闭 187
7.3.3文件的读写操作 190
习题 196
第8章 异常处理 197
8.1异常处理概述 197
8.2 C++语言异常处理的实现 198
8.3重新抛出异常和异常规范 204
8.4 C++标准库中的异常类 205
习题 206
第9章 Windows编程基础和MFC编程基础 207
9.1 Windows编程基础 207
9.2 MFC编程基础 213
9.2.1 MFC编程概述 213
9.2.2 MFC的类层次 214
9.2.3常用的MFC类 220
9.2.4 MFC应用程序的消息映射 235
9.2.5一个最简单的MFC应用程序 237
9.2.6典型的 Windows应用程序 239
习题 241
第10章 对话框和控件 242
10.1对话框和控件的基本概念 242
10.1.1对话框的基本概念 242
10.1.2控件的基本概念 243
10.2使用AppWizard开发MFC应用程序 244
10.2.1生成基于对话框的MFC应用程序框架 245
10.2.2 AppWizard向导自动生成的文件 250
10.3基本控件 252
10.3.1按钮控件 252
10.3.2编辑框控件(文本框控件) 253
10.3.3静态控件 255
10.3.4列表框控件 255
10.3.5滚动条控件 256
10.3.6组合框控件 257
10.3.7基本控件应用举例 258
10.4通用对话框 274
10.4.1 CColorDialog类 275
10.4.2 CFileDialog类 275
10.4.3 CFindReplaceDialog类 277
10.4.4 CFontDialog类 277
10.4.5 CPrintDialog类 278
10.4.6通用对话框应用举例 279
习题 281
第11章 菜单和文档/视图结构 282
11.1文档/视图的概念 282
11.2文档类 283
11.3视图类 284
11.4菜单 285
11.5菜单和文档/视图结构程序设计举例 286
习题 294
第12章 图形设备接口 295
12.1设备环境 295
12.2映射模式 296
12.3绘制基本图形 297
12.4画笔和画刷 299
12.4.1画笔 299
12.4.2画刷 301
12.4.3画笔和画刷的应用程序举例 302
12.5字体 303
习题 305
附录A 程序的调试与运行 306
附录B 标准字符ASCII表 327
附录C 实验 329
附录D 模拟考试题一 335
附录E 模拟考试题二 345
附录F 参考课时安排 353
主要参考文献 354