第一部分 C++语言部分 1
第1章 Visual C++6.0开发环境 1
1.1 开发环境概述 1
1.1.1 程序开发流程 1
1.1.2 Visual C++6.0的启动和集成开发环境(IDE) 2
1.2 开发环境的菜单功能 3
1.2.1 “File”菜单 4
1.2.2 “Edit”菜单 7
1.2.3 “View”菜单 9
1.2.4 “Insert”菜单 10
1.2.5 “Project”菜单 10
1.2.6 “Build”菜单 11
1.2.7 “Tools”菜单 12
1.2.8 “Window”菜单 13
1.2.9 “Help”菜单 13
1.3 开发环境的工具栏及使用 14
1.3.1 “Standard”工具栏 14
1.3.2 “Build MiniBar”工具栏 15
1.4 项目和项目工作区 15
1.4.1 “ClassView”选项卡 16
1.4.2 “Resource View”选项卡 17
1.4.3 “FileView”选项卡 17
1.5 资源 18
1.5.1 什么是资源 18
1.5.2 资源编辑器 18
1.6 开发环境的初步实践 19
1.7 小结 24
第2章 C++语言基础 25
2.1 从面向过程的程序设计到面向对象的程序设计 25
2.1.1 传统的结构化程序设计方法 25
2.1.2 面向对象的程序设计方法 26
2.1.3 面向对象的程序设计方法与结构化程序设计方法的比较 29
2.2 C++程序的基本组成 29
2.2.1 从 C 语言到 C++语言 29
2.2.2 C++程序的结构与基本组成 30
2.3 C++的数据类型、运算符和表达式 33
2.3.1 数据类型 33
2.3.2 运算符和表达式 39
2.4 数据的输入与输出 46
2.4.1 数据的输出 cout 46
2.4.2 数据的输入 cin 51
2.5 C++的控制语句 52
2.5.1 C++语句概述 52
2.5.2 C++程序的3种基本结构 53
2.5.3 if 语句 53
2.5.4 switch 语句 57
2.5.5 循环语句 58
2.6 数组及其使用 62
2.6.1 一维数组 62
2.6.2 二维数组 64
2.6.3 字符数组 65
2.7 函数 68
2.7.1 函数的定义 68
2.7.2 函数的调用 70
2.7.3 函数的嵌套调用 71
2.7.4 函数的递归调用 71
2.7.5 局部变量和全局变量 72
2.7.6 全局函数和静态函数 74
2.7.7 内联函数 75
2.7.8 函数重载 76
2.7.9 默认参数的函数 77
2.8 指针类型及使用 78
2.8.1 指针的概念 79
2.8.2 const 指针 80
2.8.3 指针与函数 82
2.8.4 指针与数组 85
2.8.5 指针与字符串 87
2.8.6 指针数组和指向指针的指针 88
2.9 引用 89
2.9.1 引用的概念、声明和使用 89
2.9.2 用引用作为函数的参数 91
2.9.3 如何使一个被调函数同时返回多个值 92
2.9.4 用引用返回函数值 93
2.9.5 返回引用的函数值作为赋值表达式的左值 94
2.9.6 用 const 限定引用 95
2.9.7 引用总结 96
2.10 结构体、共用体和枚举 96
2.10.1 结构体 96
2.10.2 堆内存的分配和释放 104
2.10.3 共用体类型 105
2.10.4 枚举类型 107
2.10.5 类型定义 typedef 的使用 108
2.10.6 编译预处理 108
2.11 小结 110
习题 112
第二部分 面向对象的程序设计部分 117
第3章 面向对象的程序设计 117
3.1 类与对象的定义 117
3.1.1 类的定义 117
3.1.2 成员函数的定义 119
3.1.3 对象及指向对象的指针 121
3.1.4 访问对象的成员 121
3.1.5 对象赋值语句 123
3.1.6 对象的作用域与生存期 124
3.2 构造函数与析构函数 125
3.2.1 构造函数 125
3.2.2 构造函数的重载 127
3.2.3 默认构造函数与缺省参数的构造函数 128
3.2.4 析构函数 129
3.2.5 拷贝构造函数 130
3.2.6 一个类的对象作为另一个类的数据成员 131
3.2.7 利用初始化表对常量数据成员或引用成员提供初值 135
3.2.8 类作用域 136
3.3 继承和派生 137
3.3.1 继承的概念 137
3.3.2 单继承 138
3.3.3 多重继承 143
3.3.4 虚基类 144
3.4 虚函数与多态性 146
3.4.1 多态性 146
3.4.2 子类型 146
3.4.3 用基类指针指向公有派生类对象 148
3.4.4 虚函数 150
3.4.5 静态联编与动态联编 151
3.4.6 纯虚函数与抽象类 152
3.5 静态成员 154
3.5.1 静态数据成员 154
3.5.2 静态成员函数 156
3.6 友元函数与友元类 157
3.6.1 友元函数 157
3.6.2 友元类 158
3.7 堆对象和对象数组 160
3.7.1 堆对象 160
3.7.2 对象数组 161
3.8 运算符的重载 162
3.9 模板与使用 165
3.9.1 类模板 165
3.9.2 函数模板 167
3.10 文件及其操作 168
3.10.1 顺序文件操作 168
3.10.2 随机文件操作 171
3.11 小结 173
习题 174
第三部分 面向对象的程序设计应用部分 181
第4章 利用 MFC 开发 Windows 应用程序 181
4.1 Windows 应用程序的特点与消息驱动机制 182
4.1.1 Windows 应用程序的特点与消息驱动机制 182
4.1.2 Windows 编程中常用的数据类型和句柄 184
4.2 利用 MFC AppWizard 创建 Windows 应用程序 186
4.3 MFC 应用程序的类和文件 187
4.3.1 类说明 187
4.3.2 文件说明 189
4.4 Windows 消息 189
4.4.1 标准的 Windows 消息 190
4.4.2 控件消息 191
4.4.3 命令消息 192
4.5 消息的发送和接收的基本过程和机制 193
4.6 消息映射与消息处理函数 194
4.6.1 CCmdTarget 类 194
4.6.2 消息映射与消息处理函数的概念 194
4.6.3 管理窗口消息处理函数 194
4.7 MFC 应用程序的执行过程分析 197
4.8 小结 200
习题 201
第5章 对话框及常用控件 202
5.1 对话框的组成和分类 202
5.1.1 对话框的组成 202
5.1.2 对话框的分类 203
5.2 创建模式对话框 203
5.2.1 创建应用程序框架 203
5.2.2 创建对话框资源 204
5.2.3 创建对话框类 209
5.2.4 对话框的实现 212
5.3 Windows 的常用控件 215
5.3.1 常用控件及对应的 MFC 类 215
5.3.2 控件的通用属性及设置 215
5.3.3 控件的消息 216
5.3.4 几种常用控件简介 217
5.4 非模式对话框的实现 226
5.5 消息对话框和通用对话框 231
5.5.1 消息对话框 231
5.5.2 通用对话框 232
5.6 小结 233
习题 233
第6章 菜单、工具栏和状态栏 235
6.1 创建菜单 235
6.1.1 创建菜单资源 235
6.1.2 建立快捷键 238
6.1.3 菜单功能的实现 239
6.1.4 CMenu 类及其常用成员函数介绍 242
6.1.5 快捷菜单的实现 245
6.1.6 动态地向菜单中添加新的菜单项 248
6.2 创建工具栏 250
6.2.1 创建工具栏的方法和步骤 250
6.2.2 如何实现工具栏的船坞化 255
6.3 创建状态栏 256
6.3.1 创建状态栏资源 256
6.3.2 实现状态栏 257
6.3.3 进一步完善状态栏 260
6.4 小结 262
习题 263
第7章 文档和视图 264
7.1 文档类和视图类间的关系 264
7.2 视图类和文档类中常用的成员函数 265
7.2.1 CView 类的 GetDocument()函数 265
7.2.2 CDocument 类的 UpdateAllViews()函数 266
7.2.3 CView 类的 OnUpdate()函数 266
7.2.4 CView 类的 OnlnitialUpdate()函数 266
7.2.5 MFC 应用程序中各个类对象间的相互调用关系 266
7.3 在视图类中实现显示文档类中的数据 267
7.4 在视图类中响应键盘消息 271
7.5 SDI 文档的序列化 272
7.5.1 创建空文档 272
7.5.2 打开文档 273
7.5.3 保存文档 274
7.5.4 关闭文档 275
7.6 小结 275
习题 276
第8章 图形图像处理 277
8.1 设备环境(DC) 277
8.1.1 设备环境类 277
8.1.2 几个设备环境类的主要差别 278
8.1.3 设备环境类的使用方法 279
8.2 绘图设备类 280
8.2.1 CGdiObject 类 280
8.2.2 CPen 类 281
8.2.3 CBrush 类 283
8.2.4 CFont 类及创建 CFont 类对象的方法 285
8.2.5 CBitmap 类 287
8.3 坐标映射方式 288
8.3.1 Windows 映像方式及其设置方法 288
8.3.2 逻辑坐标和设备坐标的转换 289
8.4 窗口和视口 290
8.4.1 窗口和视口的概念 290
8.4.2 窗口和视口有关的操作函数 290
8.4.3 窗口逻辑坐标和视口设备坐标的转换 291
8.5 设置绘图模式 294
8.6 图形元素的绘制 295
8.6.1 画点 295
8.6.2 画直线 296
8.6.3 画矩形 297
8.6.4 画圆角矩形 297
8.6.5 画扇形 298
8.6.6 画多边形 298
8.6.7 绘制文本 299
8.7 在视图中交互绘图 300
8.8 小结 303
习题 304
参考文献 305