第1章 C++基础知识 1
1.1 语法与基本数据类型 1
1.1.1 C++语言语法 1
1.1.2 基本数据类型 1
1.2 常量与变量 2
1.2.1 常量 2
1.2.2 变量 3
1.3 运算符与表达式 4
1.3.1 运算符 4
1.3.2 表达式 5
1.3.3 表达式类型转换 5
1.4 语句 6
1.4.1 控制语句 6
1.4.2 其他语句 10
1.5 指针 10
1.5.1 指针变量的定义 10
1.5.2 两个重要运算符 11
1.5.3 指针变量的赋值 11
1.5.4 指针变量作函数参数 11
1.5.5 引用 12
1.6 函数 12
1.6.1 函数的分类 13
1.6.2 函数的定义 13
1.6.3 形参与实参 14
1.6.4 函数的调用 14
1.7 标准输入输出流 15
1.7.1 标准输入输出流格式 15
1.7.2 标准流的几点说明 15
习题 16
第2章 类和对象 18
2.1 面向对象程序设计 18
2.2 类和对象 19
2.2.1 类和对象的关系 19
2.2.2 类的概念和定义方法 20
2.2.3 对象的概念和定义方法 21
2.2.4 对象成员的访问方法 22
2.2.5 成员函数的定义 23
2.2.6 this指针 24
2.3 构造函数和析构函数 25
2.3.1 构造函数 25
2.3.2 析构函数 30
2.3.3 拷贝构造函数 32
2.4 静态成员 33
2.4.1 静态数据成员 34
2.4.2 静态成员函数 36
2.5 对象指针 37
2.5.1 指向类对象的指针 37
2.5.2 指向对象成员的指针 38
2.6 友元 39
2.6.1 友元函数 40
2.6.2 友元类 41
习题 43
第3章 运算符重载 44
3.1 什么是运算符重载 44
3.2 重载运算符的规则 44
3.3 运算符重载函数作为类的成员函数 45
3.4 运算符重载函数作为类的友元函数 48
3.5 重载++和--运算符 52
3.6 重载流插入运算符和流提取运算符 54
习题 56
第4章 继承与派生 57
4.1 继承与派生的概念 57
4.2 单继承 58
4.2.1 单继承的定义方式 58
4.2.2 派生类的成员构成 59
4.2.3 派生类成员的访问属性 60
4.2.4 派生类的构造函数 63
4.2.5 派生类的析构函数 65
4.3 多重继承 67
4.3.1 多重继承的定义方式 67
4.3.2 多重继承派生类的构造函数与析构函数 68
4.3.3 多重继承的二义性 69
4.3.4 虚基类 70
习题 73
第5章 多态性与虚函数 74
5.1 多态性 74
5.1.1 多态的类型 74
5.1.2 函数重载 74
5.1.3 联编 77
5.2 虚函数 77
5.3 纯虚函数和抽象类 81
5.3.1 纯虚函数 81
5.3.2 抽象类 82
习题 82
第6章 MFC编程 83
6.1 Windows编程基础知识 83
6.1.1 事件驱动原理 83
6.1.2 基本概念 85
6.1.3 常用的数据结构 86
6.2 MFC概述 88
6.3 MFC类的层次结构及类简介 88
6.3.1 程序结构类 88
6.3.2 窗口类 89
6.3.3 图形类 91
6.3.4 部分非CObject派生类 92
6.4 用AppWizard建立MFC应用程序 92
6.4.1 MFC应用程序类型 92
6.4.2 MFC的AppWizard创建应用程序的步骤 93
6.4.3 应用程序向导生成的类和文件 98
6.4.4 项目工作区窗口 99
6.5 消息和消息映射 100
6.5.1 消息的结构 100
6.5.2 消息的种类 101
6.5.3 消息映射 102
6.6 常用的类的操作 107
习题 110
第7章 屏幕绘图及文本显示 111
7.1 GDI与设备描述表 111
7.1.1 GDI的基本概念 111
7.1.2 设备描述环境 111
7.2 CDC类 112
7.3 映射模式 114
7.3.1 设备坐标 114
7.3.2 逻辑坐标 114
7.3.3 映射模式的相关设置 115
7.4 绘图工具的使用 116
7.4.1 GDI绘图工具介绍 116
7.4.2 画笔 117
7.4.3 画刷 119
7.5 绘图模式 122
7.6 常用CDC类绘图函数 123
7.7 绘图过程及应用实例 126
7.8 文本输出 129
习题 132
第8章 键盘与鼠标 133
8.1 鼠标 133
8.1.1 鼠标事件和鼠标消息 133
8.1.2 鼠标消息处理函数 134
8.1.3 鼠标应用实例 135
8.2 键盘 145
8.2.1 键盘消息与虚拟键代码 145
8.2.2 键盘消息处理函数 146
8.2.3 键盘应用实例 149
习题 152
第9章 Windows控件 154
9.1 Windows标准控件 154
9.1.1 控件的创建 155
9.1.2 控件的管理 155
9.1.3 控件的通用属性 157
9.1.4 常用控件窗口操作函数 159
9.2 静态控件及其应用 160
9.2.1 静态文本控件 161
9.2.2 组框控件 162
9.2.3 静态图像控件 162
9.3 按钮控件 163
9.3.1 按钮控件的种类及消息 163
9.3.2 按钮控件的成员函数 164
9.3.3 命令按钮 165
9.3.4 单选按钮 167
9.3.5 复选按钮 169
9.4 编辑框控件 170
9.4.1 编辑框属性 171
9.4.2 编辑框类的成员函数 172
9.4.3 编辑框的主要消息 173
9.4.4 编辑框控件的使用 173
9.4.5 编辑框编程实例 175
9.5 列表框控件 182
9.5.1 列表框的属性 182
9.5.2 列表框类的成员函数 183
9.5.3 列表框的消息 185
9.5.4 列表框的使用 185
9.5.5 列表框应用举例 186
9.6 组合框控件 187
9.6.1 组合框属性 188
9.6.2 组合框类的成员函数 188
9.6.3 组合框的消息 189
9.6.4 组合框的使用 189
9.6.5 组合框应用举例 190
9.7 滚动条控件 191
9.7.1 滚动条类的成员函数 191
9.7.2 滚动条控件的使用 192
9.7.3 滚动条类应用举例 193
9.8 滑动条控件 195
9.8.1 滑动条的属性 195
9.8.2 滑动条类的成员函数 196
9.8.3 滑动条的使用 197
9.8.4 滑动条类应用举例 197
9.9 翻动按钮控件 199
9.9.1 翻动按钮的属性 199
9.9.2 翻动按钮类的成员函数 200
9.9.3 翻动按钮应用举例 200
9.10 进度条控件 201
9.11 通用对话框 203
9.12 消息对话框 205
9.13 综合应用 206
习题 211
第10章 资源 213
10.1 菜单 213
10.1.1 创建和编辑菜单 214
10.1.2 菜单消息 215
10.1.3 菜单应用实例 216
10.2 加速键 223
10.3 工具栏 224
10.3.1 增加工具栏按钮 224
10.3.2 工具栏应用实例 225
10.4 状态栏 227
10.4.1 状态栏的实现 227
10.4.2 状态栏应用实例 228
10.5 图标资源 231
10.6 位图资源 233
10.7 对话框资源 234
10.7.1 模态对话框 235
10.7.2 非模态对话框 238
习题 238
第11章 单文档与多文档 240
11.1 概述 240
11.1.1 文档/视图结构 240
11.1.2 SDI程序的创建过程及相关函数 241
11.1.3 SDI程序的命令消息传递过程 243
11.2 文档/视图结构的5个类 243
11.3 文档串行化操作 245
11.4 设置窗口样式 246
11.5 SDI编程实例 249
11.6 MDI简介 252
11.7 多文档编程实例 253
11.8 类的序列化 260
习题 264
第12章 数据库编程 266
12.1 ODBC简介 266
12.1.1 ODBC的基本构成 266
12.1.2 配置ODBC数据源 267
12.1.3 MFC提供的有关ODBC的常用类 268
12.2 简单的MFC ODBC数据库应用编程 271
12.3 ActiveX控件 281
12.3.1 使用MSFlexGrid控件 281
12.3.2 使用RemoteData和DBGrid控件 283
12.4 多表连接 285
12.5 ADO简介 288
12.5.1 ADO数据库开发步骤 288
12.5.2 ADO三个基本接口 289
12.6 Access数据库下的编程实例 295
12.7 SQL Server数据库下编程 307
12.7.1 SQL Server数据库设置 307
12.7.2 SQL Server数据库下编程实例 310
习题 311
第13章 多媒体编程 313
13.1 Windows Media Player控件 313
13.2 利用Windows Media Player控件实现多媒体编程 317
习题 322
第14章 Internet编程 323
14.1 WinInet简介 323
14.1.1 CInternetSession类 323
14.1.2 CInternetConnection类 324
14.1.3 CInternetFile类 325
14.1.4 CFileFind类 325
14.1.5 用WinInet类开发应用程序的一般步骤 325
14.2 Internet编程实例 325
习题 330
参考文献 331