第一部分 教程 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数据类型转换 6
1.3.5数组 7
1.3.6结构体 9
1.3.7共用体 11
1.3.8枚举类型 12
1.3.9用typedef定义类型 12
1.4运算符和表达式 13
1.4.1算术运算符 14
1.4.2赋值运算符 14
1.4.3关系运算符 15
1.4.4逻辑运算符 16
1.4.5位运算符 16
1.4.6三目运算符 17
1.4.7增1和减1运算符 17
1.4.8逗号运算符 17
1.4.9 sizeof运算符 18
1.4.10 new和delete 18
1.5基本语句 19
1.5.1表达式语句、空语句和复合语句 19
1.5.2选择语句 19
1.5.3循环语句 20
1.6函数 23
1.6.1函数的定义和调用 23
1.5.4 break、continue语句 23
1.6.2带默认形参值的函数 24
1.6.3函数的递归调用 25
1.6.4内联函数 27
1.6.5函数的重载 27
1.7指针和引用 28
1.7.1指针和指针变量 29
1.7.2 和*运算符 29
1.7.3指针和数组 29
1.7.4指针和结构体 30
1.7.5函数的指针传递 31
1.7.6引用 31
1.7.7函数的引用传递 32
1.8作用域和存储类型 33
1.8.1作用域 33
1.8.2变量的存储类型 34
1.9预处理 35
习题 37
第2章 C++面向对象程序设计基础 41
2.1类和对象 41
2.1.1从结构到类 41
2.1.2类的定义 42
2.13对象的定义 43
2.2类的成员及特性 44
2.2.1构造函数 44
2.2.2析构函数 45
2.2.3对象成员初始化 46
2.2.4常类型 48
2.2.5 this指针 50
2.2.6类的作用域和对象的生存期 51
2.2.7静态成员 52
2.2.8友元 54
2.3.1单继承 55
2.3继承和派生类 55
2.3.2派生类的构造函数和析构函数 59
2.3.3多继承 59
习题 60
第3章 C++面向对象程序设计进阶 63
3.1多态和虚函数 63
3.1.1虚函数 63
3.1.2纯虚函数和抽象类 65
3.2运算符重载 66
3.2.1运算符重载的语法 67
3.2.2赋值运算符的重载 68
3.2.3提取和插入运算符重载 70
3.3输入输出流库 71
3.3.1概述 71
3.3.2 cout和cin 72
3.3.3流的错误处理 75
3.3.4使用输入输出成员函数 76
3.3.5文件流概述 78
3.3.6顺序文件操作 79
3.3.7随机文件操作 81
3.4模板 83
3.4.1函数重载机制的不足 83
3.4.2函数模板 84
3.4.3类模板 85
3.4.4标准模板库简介 86
习题 87
第4章 对话框 89
4.1从C++到Windows编程 89
4.1.1简单的Windows应用程序 89
4.1.2 Windows编程特点 91
4.1.3 Windows基本数据类型 94
4.1.4 MFC应用程序框架类型 95
4.1.5创建一个应用程序框架 96
4.2添加并使用对话框 98
4.2.1资源与资源标识 98
4.2.2添加对话框资源 100
4.2.3设置对话框属性 101
4.2.4添加和布局控件 102
4.2.5创建对话框类 105
4.2.6添加对话框代码 106
4.2.7在程序中使用对话框 107
4.3使用向导创建对话框应用程序 110
4.4使用无模式对话框 112
4.5通用对话框和消息对话框 114
4.5.1通用对话框 114
4.5.2消息对话框 117
习题 118
5.1.1控件的创建方法 119
5.1控件的创建和基本使用方法 119
第5章 常用控件 119
5.1.2控件的消息及消息映射 121
5.1.3控件的数据交换(DDX)和数据校验(DDV) 125
5.2静态控件和按钮 128
5.2.1静态控件 128
5.2.2按钮 130
5.2.3实例:制作问卷调查 131
5.3编辑框和旋转按钮控件 134
5.3.1编辑框的属性和通知消息 134
5.3.2编辑框的基本操作 136
5.3.3旋转按钮控件 137
5.3.4实例:用对话框输入学生成绩 138
5.4列表框 141
5.4.1列表框的风格和消息 141
5.4.2列表框的基本操作 142
5.4.3实例:城市邮政编码 144
5.5组合框 147
5.5.1组合框的风格类型和消息 148
5.5.2组合框的常见操作 149
5.5.3实例:简单文件对话框 150
5.6进展条、滚动条和滑动条 154
5.6.1进展条 154
5.6 2滚动条 157
5.6.3滑动条 159
5.6.4实例:调整对话框背景颜色 161
5.7日期时间控件、图像列表和标签控件 163
5.7.1日期时间控件 163
5.7.2图像列表控件 164
5.7.3标签控件 165
5.7.4实例:个人通讯簿 167
习题 174
6.1.1单文档和多文档程序框架窗口 175
6.1框架窗口 175
第6章 框架窗口界面设计 175
6.1.2窗口状态的改变 177
6.1 3窗口风格的设置 178
6.1.4改变窗口的大小和位置 184
6.2菜单 185
6.2.1更改应用程序菜单 186
6.2.2使用键盘快捷键 188
6.2.3菜单的编程控制 189
6.2.4使用快捷菜单 192
6.3工具栏 193
6.3.1使用工具栏编辑器 193
6.3.2工具按钮和菜单项相结合 195
6.3.3多个工具栏的使用 196
6.4状态栏 199
6.4.1状态栏的定义 199
6.4.2状态栏的常用操作 200
6.4.3改变状态栏的风格 201
6.5交互对象的动态更新 202
6.6图标和光标 203
6.6.1使用图形编辑器 204
6.6.2图标 205
6.6.3光标 208
习题 211
第7章 文档和视图 213
7.1文档模板 213
7.1.1文档模板类 213
7.1.2文档模板字串资源 214
7.1.3使用多个文档类型 215
7.2文档序列化 218
7.2.1文档序列化过程 219
7.2.2文档序列化操作 220
7.2.3使用简单数组集合类 223
7.2.4文档序列化实例 226
7.2.5使用CFile类 231
7.3视图及视图类 233
7.4文档视图结构 240
7.4.1文档与视图的相互作用 240
7.4.2应用程序对象指针的互调 241
7.4.3切分窗口 243
7.4.4一档多视 247
习题 252
第8章 图形和文本 255
8.1设备环境和简单数据类 255
8.1.1设备环境类 255
8.1.2坐标映射 255
8.1.3 CPoint、CSize和CRect 257
8.1.4颜色和颜色对话框 259
8.2.1 GDI对象的一般使用方法 260
8.2图形设备接口 260
8.2.2画笔 262
8.2.3画刷 263
8.2.4位图 264
8.3图形绘制 266
8.3.1画点、线 266
8.3.2矩形和多边形 267
8.3.3曲线 269
8.3.4图形绘制示例 271
8.3.5在对话框控件中绘制图形 272
8.4字体与文字处理 274
8.4.1字体和字体对话框 275
8.4.2常用文本输出函数 277
8.4.3本格式化属性 279
8.4.4计算字符的几何尺寸 280
8.4.5文档内容显示及其字体改变 281
习题 283
第9章 数据库编程 285
9.1数据库概述 285
9.2 ODBC数据库编程 286
9.2.1 MFCAppWizard使用ODBC的一般过程 286
9.2.2 ODBC数据表更新 292
9.2.3 CRecordSet类的基本操作 294
9.3数据库编程常用技巧 297
9.3.1显示记录总数和当前记录号 297
9.3.2编辑记录 299
9.3.3处理多个表 302
9.3.4字段操作 305
9.4数据库相关的ActiveX控件 307
9.4.1使用MSFlexGrid控件 307
9.4.2 RemoteData和DBGrid控件 311
习题 314
10.1.2 MCI编程步骤 315
10.1.1 MCI设备类型 315
第10章 多媒体应用 315
10.1使用媒体控制接口(MCI) 315
10.1.3使用MCIWnd窗口类 322
10.2使用OpenGL 325
10.2.1 OpenGL特点及功能 325
10.2.2 OpenGL图形库 326
10.2.3 用MFC编写OpenGL程序 326
10.3 DirectX编程 330
10.3.1 DirectX概述 330
10.3.2 Direct3D编程 331
10.3.3使用DirectX 向导 334
习题 336
第二部分 实验与实习 337
实验0 认识Visual C++6.05中文版开发环境 337
实验1 C/C++语言综合实践 344
实验2 类和对象 347
实验3 多态和虚函数、运算符重载 352
实验4 输入输出流库 357
实验5 对话框和按钮控件 363
实验6 编辑框、列表框和组合框 366
实验7 其他控件 370
实验8 框架窗口界面设计 373
实验9 文档序列化 378
实验10 切分窗口 381
实验11 图形和文本 385
实验12 数据库 387
实习 学生信息管理系统 396
附录 401
附录A 常用的C++库函数 401
附录B 程序简单调试 403
参考文献 407