第1章 面向对象方法学导论 1
1.1 面向过程的程序设计方法 1
1.1.1 计算机的工作原理 1
1.1.2 面向过程程序设计方法 2
1.2 面向对象程序设计方法 4
1.3 面向对象方法的基本概念 7
1.3.1 对象、类、实例 7
1.3.2 消息传递 8
1.3.3 类的基本特征:封装、继承和多态 8
1.4 面向对象的开发过程 10
1.4.1 面向对象的分析和设计 11
1.4.2 面向对象的实现 16
1.4.3 面向对象的典型方法 16
1.5 举例 18
1.6 面向对象程序设计方法的优点 20
1.7 C++语言的发展 20
1.8 Visual C++开发与调试环境 20
1.8.1 Visual C++控制台开发环境 21
1.8.2 Visual C++基本的错误调试方法 24
1.8.3 Visual C++的模块调试方法 25
1.9 Dev C++开发环境 26
习题 26
实验:面向过程程序设计与面向对象程序设计 26
第2章 C++语言基础一 27
2.1 标识符和关键字 27
2.2 数据类型、变量及常量 27
2.2.1 基本数据类型 27
2.2.2 变量 28
2.2.3 常量 28
2.2.4 构造类型 29
2.2.5 指针类型 33
2.2.6 内存的动态分配与回收 34
2.3 函数 35
2.4 基本语句 36
2.4.1 声明语句与定义语句 36
2.4.2 注释语句 37
2.4.3 类型定义语句typedef 37
2.4.4 程序预处理语句 38
2.4.5 输入/输出语句 39
2.4.6 表达式语句 40
2.4.7 控制语句 44
实验:C++基础 47
第3章 C++语言基础二 49
3.1 C++程序入口 49
3.2 命名空间using namespace 50
3.3 输入/输出 51
3.4 C++语言的程序结构 52
3.4.1 C++程序结构 52
3.4.2 变量的作用域 53
3.5 C++的其他新特性 54
3.5.1 内存的动态分配与回收 54
3.5.2 引用 56
3.5.3 string类型 57
3.5.4 函数默认值 58
3.5.5 函数调用 58
3.5.6 内联函数 60
3.5.7 函数重载 61
习题 63
实验:C++基础 65
第4章 封装性 67
4.1 类的定义和一般调用 67
4.1.1 类的定义 67
4.1.2 一般数据成员的定义 68
4.1.3 一般成员函数的定义 70
4.1.4 类的调用 71
4.1.5 用访问控制实现信息隐藏 72
4.2 特殊的数据成员和成员函数 73
4.2.1 构造函数和析构函数 73
4.2.2 常数据成员 79
4.2.3 静态数据成员和静态成员函数 80
4.2.4 对象成员 82
4.3 对象数组和常对象 86
4.3.1 对象数组 86
4.3.2 const对象 87
4.4 自引用指针this 87
4.5 封装机制的破坏之友元 90
习题 92
实验:类的定义及调用 95
第5章 继承性 96
5.1 继承与派生的概念 96
5.2 派生类的定义格式及其继承方式 97
5.2.1 派生类的定义格式 97
5.2.2 继承方式 99
5.3 派生类对象的初始化 105
5.4 多重继承 108
5.4.1 多重继承的定义格式 108
5.4.2 多重继承的初始化 108
5.4.3 多重继承的二义性 110
5.4.4 虚基类 113
5.5 赋值兼容性 115
习题 117
实验:继承与派生 120
第6章 运算符重载 121
6.1 函数重载 121
6.2 运算符重载 122
6.2.1 运算符重载为类的成员函数 122
6.2.2 运算符重载为类的友元函数 124
6.2.3 重载赋值运算符 128
6.2.4 类类型转换 130
习题 132
实验:运算符重载 134
第7章 多态性 135
7.1 多态性概述 135
7.2 运行时的多态性 136
7.3 虚析构函数 142
7.4 纯虚函数和抽象类 143
7.5 应用实例 144
习题 150
实验:多态性 152
第8章 模板和STL 153
8.1 模板的概念 153
8.2 函数模板 154
8.3 类模板 157
8.4 STL 160
8.4.1 C++标准库和STL简介 160
8.4.2 vector 162
8.4.3 STL的使用 164
8.4.4 STL算法 169
8.4.5 综合应用 171
习题 174
实验:模板 174
第9章 异常处理 175
9.1 异常处理的基本思想 175
9.2 C++中异常处理的方法 176
9.2.1 异常的抛出 177
9.2.2 捕获异常 177
9.2.3 异常说明书 181
习题 182
实验:异常处理 183
第10章 输入/输出流 184
10.1 输入/输出流概述 184
10.1.1 基本的流操作:cin和cout 184
10.1.2 C++的流类库 184
10.2 输入/输出流 186
10.2.1 输出流 186
10.2.2 输入流 187
10.2.3 格式化输出 188
10.3 磁盘文件的输入/输出 192
10.3.1 文件的打开和关闭 192
10.3.2 文件指针 193
10.3.3 文本文件的读写 194
10.3.4 二进制文件的读写 195
10.3.5 操作文件流的常用方法 195
习题 201
实验:I/O流 203
第11章 Windows编程初步知识 204
11.1 Windows编程机制 204
11.2 MFC和应用程序框架 207
11.3 基于对话框输入/输出对象数据 211
实验:Windows编程初步 216
第12章 综合设计与实现 217
12.1 Hash表的使用 217
12.2 小型超市的商品销售管理系统 222
12.2.1 系统需求 222
12.2.2 分析与设计 222
12.2.3 实现 226
12.3 小型公司的工资管理系统 234
12.3.1 系统需求 234
12.3.2 分析与设计 235
12.3.3 实现 236
综合实验 242
常用术语中英文对照表 244
参考文献 248