第1章 面向对象技术概述 2
1.1 面向对象技术的基本概念 2
1.1.1 面向对象与面向过程的区别 2
第一部分 基础知识 2
1.1.2 对象的概念与类的确定 3
1.1.3 消息与事件的概念 4
1.2 面向对象技术的基本特征 4
1.2.1 抽象性 4
1.2.2 封装性 5
1.2.3 继承性 5
1.2.4 多态性 6
1.3.2 纯面向对象程序设计语言Java 7
1.3 面向对象程序设计语言 7
1.3.1 混合型面向对象程序设计语言C++ 7
1.3.3 可视化程序设计语言Visual Basic 8
1.4 C++对面向对象技术的支持 9
1.5 Visual C++的发展 9
1.5.1 Visual C++6.0 10
1.5.2 Visual C++.NET 10
1.6 本章小结 11
1.7 习题 12
第2章 C++语言基础 13
2.1 C++程序的基本组成 13
2.2 数据类型和表达式 14
2.2.1 基本数据类型 15
2.2.2 指针和引用 16
2.2.3 数组和结构体 18
2.2.4 运算符与表达式 21
2.2.5 动态存储分配 22
2.3 程序的基本控制结构 24
2.3.1 顺序结构 25
2.3.2 分支结构 25
2.3.3 循环结构 27
2.4 函数 28
2.4.1 函数定义和函数原型 29
2.4.2 函数调用 30
2.4.3 内联函数 33
2.4.4 带默认参数的函数 34
2.4.5 函数重载 35
2.4.6 作用域与生存期 36
2.5 本章小结 40
2.6 习题 41
第二部分 C++面向对象技术 44
第3章 类与对象 44
3.1 类 44
3.1.1 类定义 44
3.1.2 访问控制 45
3.1.3 成员函数的实现 46
3.2 对象 48
3.2.1 对象的定义 49
3.2.2 类成员的访问 49
3.3 构造函数和析构函数 51
3.3.1 构造函数 51
3.3.2 析构函数 52
3.3.3 复制构造函数 57
3.4 静态成员 62
3.4.1 静态成员的定义 62
3.4.2 静态数据成员的初始化 63
3.4.3 静态成员的调用 63
3.5.2 友元的定义 65
3.5 友元 65
3.5.1 友元的作用 65
3.6 应用举例 68
3.7 本章小结 79
3.8 习题 80
第4章 继承与派生 86
4.1 继承的层次关系 86
4.2 派生类 86
4.2.1 派生类的定义 87
4.2.2 派生类的生成过程 89
4.3.2 私有继承的访问权限控制 90
4.3.1 公有继承的访问权限控制 90
4.3 访问权限控制 90
4.3.3 保护继承的访问权限控制 92
4.4 派生类的构造函数和析构函数 93
4.4.1 派生类的构造函数 93
4.4.2 派生类的析构函数 95
4.5 多继承 96
4.5.1 多继承的定义格式 96
4.5.2 多继承的构造函数 96
4.5.3 虚基类 98
4.6 本章小结 104
4.7 习题 104
5.2 联编 108
5.2.1 静态联编 108
第5章 多态性 108
5.1 多态的实现类型 108
5.2.2 动态联编 110
5.3 虚函数 110
5.3.1 虚函数的声明 110
5.3.2 虚函数的使用 110
5.4 抽象类 114
5.4.1 纯虚函数的定义 115
5.4.2 抽象类的使用 115
5.5 运算符重载 116
5.5.1 运算符重载规则 118
5.5.2 运算符重载为成员函数 119
5.5.3 运算符重载为友元函数 123
5.6 本章小结 124
5.7 习题 125
第6章 模板 128
6.1 模板的概念 128
6.2 函数模板 128
6.2.1 函数模板的定义 128
6.2.2 模板函数的生成 130
6.3 类模板与模板类 131
6.3.1 类模板的定义 131
6.3.2 类模板的使用 132
6.4 STL简介 133
6.5 本章小结 135
6.6 习题 136
第7章 I/O流 137
7.1 流的概念 137
7.2 非格式化输入/输出 139
7.3 格式化输入/输出 140
7.3.1 用ios类成员函数格式化 140
7.3.2 用操作符函数格式化 145
7.4 文件的输入/输出 151
7.5 本章小结 153
7.6 习题 154
8.1 异常处理的基本思想 156
第8章 异常处理 156
8.2 异常处理的实现 158
8.2.1 异常处理的语法 158
8.2.2 异常处理中的构造与析构 162
8.3 应用示例 162
8.4 本章小结 165
8.5 习题 165
第三部分 Visual C++的Windows编程技术 168
第9章 Visual C++的Windows编程基础 168
9.1 Windows编程基础 168
9.1.1 事件驱动原理 168
9.1.2 基本概念 169
9.1.3 GDI简介 170
9.1.4 资源 171
9.1.5 常用的数据结构 171
9.2 用MFC创建Windows应用程序 173
9.2.1 MFC库简介 173
9.2.2 MFC类的层次结构 174
9.2.3 Windows应用程序类型 177
9.2.4 利用AppWizard向导生成MFC应用程序 177
9.3 本章小结 182
9.4 习题 182
10.1.1 创建WinHello应用程序 183
10.1 创建单文档应用程序 183
第10章 单文档应用程序设计 183
10.1.2 AppWizard向导生成的类和文件 184
10.1.3 应用程序的运行机制 185
10.1.4 消息处理机制 186
10.2 输入/输出处理 187
10.2.1 文本输出 187
10.2.2 键盘 189
10.2.3 鼠标 193
10.3 菜单 195
10.3.1 菜单简介 195
10.3.2 菜单的建立和实现 196
10.4.1 在程序中加入滚动功能 202
10.4 滚动条 202
10.4.2 在程序中实现分割功能 205
10.5 工具栏和状态栏 207
10.5.1 工具栏的实现 207
10.5.2 状态栏的实现 209
10.6 对话框和控件 212
10.6.1 控件简介 212
10.6.2 模式对话框 213
10.6.3 非模式对话框 224
10.7 本章小结 225
10.8 习题 225
11.1.1 多文档中的文档/视图结构 226
第11章 多文档应用程序设计 226
11.1 多文档应用程序结构 226
11.1.2 生成一个多文档应用程序 227
11.1.3 生成的类和文件 227
11.2 设计多文档应用程序 228
11.2.1 多文件类型和多菜单 228
11.2.2 多文档应用程序示例 229
11.3 本章小结 233
11.4 习题 233
第12章 对话式应用程序设计 234
12.1 对话框应用程序 234
12.1.1 创建对话框应用程序 234
12.1.2 应用示例 235
12.2 基于表单的应用程序 238
12.2.1 创建基于表单的应用程序 239
12.2.2 应用示例 239
12.3 本章小结 242
12.4 习题 242
附录A Visual C++的集成开发环境 243
附录B Visual C++程序的建立、编译、链接和运行 250
附录C Visual C++程序的基本调试方法 253
附录D Visual C++的帮助功能 258
附录E 用AppWizard向导创建的MFC框架程序解析 261
参考文献 271