第1章 Visual C++集成开发环境 1
1.1 Visual C++概述 1
1.1.1 Visual C++介绍 1
1.1.2 Visual C++安装流程 2
1.1.3 集成环境窗口介绍 2
1.1.4 MSDN帮助系统 4
1.2 项目开发区 5
1.2.1 ClassView(类视图) 6
1.2.2 ResourceView(资源视图) 7
1.2.3 FileView(文件视图) 7
1.3 菜单栏和工具栏 8
1.3.1 菜单栏 8
1.3.2 工具栏 9
本章小结 12
习题 12
第2章 程序设计概述 13
2.1 程序设计流程 13
2.2 结构化程序设计 15
2.2.1 描述任何实体的操作序列只需要三种基本控制结构 15
2.2.2 程序设计中的各个过程体和组成部分应以模块表示 16
2.2.3 过程化程序设计方法 16
2.3 对象化程序设计 16
本章小结 18
习题 18
第3章 C++语言基础 20
3.1 向量 20
3.2 函数 24
3.2.1 内联函数 25
3.2.2 函数重载 26
3.3 指针 29
3.3.1 const指针 30
3.3.2 函数指针 31
3.4 引用 34
3.5 名空间 35
3.5.1 名空间的定义 35
3.5.2 名空间成员的访问 36
3.5.3 名空间的应用 36
3.6 预编译 37
3.6.1 #include指令 38
3.6.2 条件编译指令 38
3.6.3 头文件卫士 39
3.6.4 #define指令 40
3.7 this指针 41
本章小结 42
习题 42
第4章 类 44
4.1 类的定义 44
4.1.1 结构体与类 44
4.1.2 定义类 46
4.1.3 定义对象 47
4.2 类的成员函数 48
4.3 静态成员 51
4.3.1 静态数据成员 51
4.3.2 静态成员函数 52
4.4 友员 53
4.4.1 友员函数 53
4.4.2 友员类 54
4.5 运算符重载 55
4.6 类的设计 58
4.6.1 数据成员设计 58
4.6.2 成员函数设计 59
4.6.3 案例解析 59
本章小结 64
习题 64
第5章 对象 67
5.1 构造函数 67
5.1.1 缺省参数的构造函数 69
5.1.2 构造函数的重载 71
5.2 拷贝构造函数 72
5.2.1 默认拷贝构造函数 72
5.2.2 自定义拷贝函数 74
5.3 析构函数 77
5.4 构造顺序 79
5.4.1 静态对象只被构造一次 79
5.4.2 所有全局对象都在主函数main()之前被构造 80
5.4.3 全局对象相关构造时无特殊顺序 80
5.5 案例解析 80
本章小结 83
习题 84
第6章 继承 88
6.1 继承和派生的概念 88
6.2 派生类 89
6.2.1 派生类对象结构 89
6.2.2 派生类的声明 90
6.2.3 派生类的构造 91
6.3 继承层次中对象间的赋值 97
6.4 继承方式 98
6.5 继承与组合 99
6.6 多重继承 101
6.6.1 什么是多重继承 101
6.6.2 虚拟继承 103
6.6.3 多种继承的构造顺序 105
6.7 案例解析 105
本章小结 111
习题 112
第7章 面向对象程序设计的方法与步骤 114
7.1 问题描述 114
7.2 过程化分析 114
7.3 基于对象的分析 116
7.4 基于对象的解决方案 117
本章小结 124
习题 125
第8章 多态与抽象类 126
8.1 派生类同化问题 126
8.2 多态与虚函数 128
8.3 抽象类 131
8.4 案例解析 133
本章小结 137
习题 138
第9章 模板 141
9.1 模板 141
9.2 函数模板 142
9.2.1 函数模板的定义 142
9.2.2 函数模板的实现 143
9.3 函数模板的参数 145
9.3.1 形参类型 145
9.3.2 类型匹配 147
9.4 类模板 148
9.4.1 类模板的定义 148
9.4.2 模板类的实现 149
9.5 案例解析 151
本章小结 157
习题 157
第10章 异常 159
10.1 异常处理 159
10.1.1 错误种类 159
10.1.2 异常处理三部曲 160
10.2 异常捕捉 161
10.2.1 类型匹配 161
10.2.2 捕捉异常 163
10.3 异常申述 164
10.3.1 异常抛掷声明 164
10.3.2 异常终止函数 167
10.4 案例分析 169
本章小结 171
习题 172
第11章 I/O流 174
11.1 标准I/O流 174
11.1.1 输入流 175
11.1.2 输出流 175
11.2 文件操作与文件流 177
11.2.1 文件流类 178
11.2.2 文件的操作 178
11.3 案例解析 182
本章小结 185
习题 186
第12章 创建应用程序框架 188
12.1 应用程序的创建 188
12.1.1 projects类型 188
12.1.2 创建MFC AppWizard[exe]应用程序流程 189
12.2 MFC AppWizard[exe]应用程序生成的文件 198
12.2.1 文件种类 198
12.2.2 头文件 199
12.2.3 源文件 201
12.2.4 资源文件 204
12.2.5 其他文件 205
12.3 ClassWizard类向导 206
12.3.1 Class Wizard介绍 206
12.3.2 添加响应函数 207
12.3.3 添加新类 210
12.4 程序调试 212
12.4.1 查找语法错误 212
12.4.2 debug调试器的应用 213
12.4.3 跟踪调试程序 214
本章小结 216
习题 217
第13章 MFC原理简介 218
13.1 MFC概述 218
13.2 MFC应用程序框架 219
13.2.1 应用程序框架中的对象 220
13.2.2 MFC应用程序的创建与终止 221
13.2.3 常用MFC文件 224
13.3 常用的MFC类 227
13.3.1 CObject类 227
13.3.2 CCmdTarget类 228
13.3.3 CWinApp类 229
13.3.4 CWnd类 229
13.3.5 CFrameWnd类 230
13.3.6 CView类 231
13.3.7 CDocument类 231
本章小结 232
习题 232
第14章 对话框编程 233
14.1 对话框概述 233
14.1.1 对话框的应用程序 233
14.1.2 对话框CDialog类 235
14.1.3 消息对话框 236
14.2 对话框的创建及使用 237
14.2.1 创建对话框 237
14.2.2 对话框的使用 240
14.3 标准控件 244
14.3.1 控件概述 244
14.3.2 标准控件介绍 245
本章小结 252
习题 252
第15章 文档与视图编程 253
15.1 概述 253
15.1.1 程序、框架及其相关的类 253
15.1.2 文档、视图和框架之间的相互作用 257
15.2 文档的读写 259
15.2.1 用户数据存储 259
15.2.2 对象的序列化 260
15.2.3 创建实例 262
15.3 滚动视图和多视图 273
15.3.1 滚动视图 273
15.3.2 多视图 274
本章小结 278
习题 278
第16章 高级应用程序编程 280
16.1 ODBC数据库编程 280
16.1.1 开放数据库互联(ODBC) 280
16.1.2 数据库的创建及连接 281
16.1.3 ODBC数据库的MFC类 283
16.1.4 SQL语句 290
16.2 多线程 291
16.2.1 多线程基础 292
16.2.2 多线程编程 297
16.3 动态链接库 303
16.3.1 动态链接库概述 303
16.3.2 动态链接库编程 304
16.3.3 DLL编程实例 304
本章小结 309
习题 310
第17章 综合应用案例 311
17.1 数据库部分 311
17.2 C++程序部分 315
17.2.1 建立C++运行界面 315
17.2.2 初始运行程序 316
17.2.3 友好界面(FRIENDLY) 317
17.2.4 欢迎界面(CWelcomeDlg) 320
17.2.5 主菜单(CMYMENU) 322
17.2.6 图书管理界面(MANAGER) 325
17.2.7 学生信息(INFORMATION) 332
17.2.8 借阅(BORROW) 336
17.2.9 归还(BACK) 344
17.2.10 图书资料修改(EDITBOOK) 350
17.2.11 学生资料修改(EDITSTD) 355
17.2.12 密码重置 360
17.2.13 帮助(HELP) 365