第一部分 教程 1
第1章 C/C++语言概述 1
1.1 从C到C++的程序结构 1
1.2 程序书写规范 2
1.3 数据类型 3
1.3.1 基本数据类型 3
1.3.2 常量 4
1.3.3 变量 6
1.3.4 数据类型转换 7
1.3.5 数组 7
1.3.6 结构体 9
1.3.7 共用体 11
1.3.8 枚举类型 11
1.3.9 用typedef定义类型 12
1.4 运算符和表达式 12
1.4.1 算术运算符 13
1.4.2 赋值运算符 14
1.4.3 关系运算符 15
1.4.4 逻辑运算符 15
1.4.5 位运算符 15
1.4.6 三目运算符 16
1.4.7 增1和减1运算符 16
1.4.8 逗号运算符 17
1.4.9 sizeof运算符 17
1.4.10 new和delete 17
1.5 基本语句 18
1.5.1 表达式语句、空语句和复合语句 18
1.5.2 选择语句 18
1.5.3 循环语句 19
1.5.4 break、continue语句 21
1.6 函数 22
1.6.1 函数的定义和调用 22
1.6.2 带默认形参值的函数 23
1.6.3 数的递归调用 24
1.6.4 内联函数 25
1.6.5 函数的重载 26
1.7 指针和引用 26
1.7.1 指针和指针变量 26
1.7.2 &和*运算符 27
1.7.3 指针和数组 28
1.7.4 指针和结构体 28
1.7.5 函数的指针传递 29
1.7.6 引用 29
1.7.7 函数的引用传递 30
1.8 作用域和存储类型 31
1.8.1 作用域 31
1.8.2 变量的存储类型 32
1.9 预处理 33
习题 34
第2章 C++面向对象程序设计基础 38
2.1 类和对象 38
2.1.1 从结构到类 38
2.1.2 类的定义 38
2.1.3 对象的定义 40
2.2 类的成员及特性 41
2.2.1 构造函数 41
2.2.2 析构函数 42
2.2.3 对象成员初始化 42
2.2.4 常类型 44
2.2.5 this指针 46
2.2.6 类的作用域和对象的生存期 47
2.2.7 静态成员 47
2.2.8 友元 49
2.3 继承和派生类 50
2.3.1 单继承 50
2.3.2 派生类的构造函数和析构函数 54
2.3.3 多继承 54
习题 55
第3章 C++面向对象程序设计进阶 56
3.1 多态和虚函数 56
3.1.1 虚函数 56
3.1.2 纯虚函数和抽象类 58
3.2 运算符重载 59
3.2.1 运算符重载的语法 59
3.2.2 赋值运算符的重载 61
3.2.3 提取和插入运算符重载 62
3.3 输入输出流库 63
3.3.1 概述 63
3.3.2 cout和cin 64
3.3.3 流的错误处理 66
3.3.4 使用输入输出成员函数 67
3.3.5 文件流概述 69
3.3.6 顺序文件操作 70
3.3.7 随机文件操作 72
3.4 模板 74
3.4.1 函数模板 74
3.4.2 类模板 77
习题 79
第4章 MFC框架、消息和对话框 81
4.1 Windows编程 81
4.1.1 C++的Windows编程 81
4.1.2 Windows编程特点 84
4.1.3 Windows基本数据类型 85
4.2 MFC编程 86
4.2.1 MFC程序框架 86
4.2.2 使用MFC AppWizard 88
4.2.3 创建文档应用程序 89
4.2.4 项目文件和管理 91
4.2.5 MFC程序类结构 93
4.3 消息和消息映射 94
4.3.1 消息类别 94
4.3.2 消息映射机制 95
4.3.3 使用类向导 96
4.3.4 键盘和鼠标消息 98
4.3.5 其他窗口消息 99
4.4 设计并使用对话框 99
4.4.1 资源和资源标识 99
4.4.2 添加对话框资源 101
4.4.3 设置对话框属性 102
4.4.4 添加和布局控件 102
4.4.5 创建对话框类 105
4.4.6 映射WM_INITDIALOG消息 105
4.4.7 在程序中调用对话框 106
4.4.8 模式和非模式对话框 107
4.4.9 创建对话框应用程序 107
4.5 通用对话框和消息对话框 108
4.5.1 通用对话框 108
4.5.2 消息对话框 109
4.6 常见问题解答 110
习题 111
单元综合测试 111
第5章 常用控件 113
5.1 创建和使用控件 113
5.1.1 控件的创建方式 113
5.1.2 控件的消息及消息映射 114
5.1.3 控件类和控件对象 116
5.1.4 DDX和DDV 118
5.2 静态控件和按钮 120
5.2.1 静态控件 120
5.2.2 按钮 121
5.2.3 示例:制作问卷调查 122
5.3 编辑框和旋转按钮 125
5.3.1 编辑框 125
5.3.2 旋转按钮 126
5.3.3 示例:学生成绩输入 127
5.4 列表框 130
5.4.1 列表框样式和消息 130
5.4.2 列表框基本操作 131
5.4.3 示例:城市邮政编码 132
5.5 组合框 135
5.5.1 组合框样式和消息 135
5.5.2 组合框常见操作 136
5.5.3 示例:城市邮编和区号 137
5.6 进展条、日历控件和计时器 139
5.6.1 进展条 139
5.6.2 日历控件 140
5.6.3 计时器 141
5.6.4 示例:自动时间显示 141
5.7 滚动条和滑动条 142
5.7.1 滚动条 142
5.7.2 滑动条 144
5.7.3 示例:调整对话框背景颜色 145
5.8 常见问题解答 147
习题 148
单元综合测试 148
第6章 框架窗口界面设计 150
6.1 框架窗口 150
6.1.1 主窗口和文档窗口 150
6.1.2 窗口样式的设置 150
6.1.3 窗口状态的改变 153
6.2 图标和光标 155
6.2.1 图像编辑器 155
6.2.2 图标及其使用 157
6.2.3 光标及其使用 159
6.3 菜单 161
6.3.1 用编辑器设计菜单 161
6.3.2 更改应用程序菜单 163
6.3.3 使用键盘快捷键 165
6.3.4 菜单的编程控制 166
6.3.5 使用快捷菜单 168
6.4 工具栏 170
6.4.1 使用工具栏编辑器 170
6.4.2 工具按钮和菜单项相结合 171
6.4.3 多个工具栏的使用 172
6.5 状态栏 174
6.5.1 状态栏的定义 174
6.5.2 状态栏的常用操作 175
6.5.3 改变状态栏的风格 176
6.6 交互对象的动态更新 177
6.7 常见问题解答 178
习题 179
单元综合测试 179
第7章 数据、文档和视图 181
7.1 文档模板 181
7.1.1 文档模板类 181
7.1.2 文档模板字符串资源 182
7.2 文档序列化 183
7.2.1 文档序列化过程 183
7.2.2 CArchive类和序列化操作 184
7.2.3 使用简单数组集合类 186
7.2.4 类对象序列化 189
7.2.5 文件对话框和CFile类 193
7.3 视图及应用框架 196
7.3.1 一般视图框架 196
7.3.2 图像列表 198
7.3.3 列表视图框架 199
7.3.4 树视图框架 204
7.4 文档视图结构 208
7.4.1 文档与视图的相互作用 208
7.4.2 切分窗口 210
7.4.3 一档多视 211
7.5 常见问题解答 216
习题 217
单元综合测试 217
第8章 图形、文本和数据库 219
8.1 设备环境和数据 219
8.1.1 CDC类概述 219
8.1.2 坐标映射 219
8.1.3 CPoint、CSize和CRect 220
8.1.4 颜色和颜色对话框 222
8.2 图形和文本 223
8.2.1 画笔、画刷和位图 223
8.2.2 图形绘制 227
8.2.3 字体与文字 230
8.3 MFC ODBC一般操作 235
8.3.1 使用MFC ODBC向导 235
8.3.2 数据表绑定更新 239
8.3.3 MFC ODBC类及记录集 239
8.3.4 记录的过滤条件、排序法和查询 240
8.3.5 显示记录信息 241
8.3.6 编辑记录 243
8.4 MFC ODBC应用编程 246
8.4.1 字段操作与记录列表 246
8.4.2 直接使用MFC ODBC类 248
8.4.3 使用RemoteData和DBGrid控件 252
8.4.4 多表处理 254
8.5 常见问题解答 258
习题 259
单元综合测试 259
第二部分 实验 261
实验1 认识Visual C++6.0开发环境 261
实验2 基本数据类型、表达式和基本语句 267
实验3 函数和预处理 270
实验4 构造类型、指针和引用 272
实验5 类和对象、继承和派生 275
实验6 多态和虚函数、运算符重载 278
实验7 输入输出流库 281
实验8 向导框架、消息及调试 286
实验9 对话框和按钮控件 290
实验10 编辑框、列表框和组合框 291
实验11 进展条、滚动条和滑动条 295
实验12 基本界面元素 298
实验13 数据、文档和视图 301
实验14 图形和文本 302
实验15 ODBC数据库编程 303
第三部分 实习 305
实习一 学生成绩管理程序(C++版) 305
实习二 学生成绩管理程序(MFC版) 309
附录A 常用C++库函数及类库 317
附录B 字符串类型和CString类 319
附录C Visual C++常用操作 323
模拟测试试卷 326
单元综合测试和模拟测试参考答案 334