本书目录
第1章 面向对象编程技术概述 1
1.1 两种编程方法举例 1
1.1.1 面向过程编程方法 1
1.1.2 面向对象编程方法 3
1.2 面向对象编程的基本特征 5
1.2.1 抽象 5
1.2.2 封装 5
1.2.3 继承 6
1.2.4 多态 7
1.3 程序的编译、连接与运行 8
1.4 C++标准库简介 10
1.5 小结 11
习题 1 11
第2章 C++编程基础 12
2.1 C++的词法规则 12
2.1.1 字符集 12
2.1.2 单词 13
2.2 C++的数据类型 14
2.2.1 基本数据类型 15
2.2.2 常量与变量 16
2.2.3 自定义数据类型 25
2.2.4 扩展数据类型 29
2.2.5 类型转换 37
2.2.6 typedef与typeid 39
2.3 表达式与语句 40
2.3.1 表达式 40
2.3.2 语句 44
2.4 预处理命令 49
2.4.1 宏定义命令 50
2.4.2 文件包含命令 50
2.4.3 条件编译命令 50
2.5 名字空间 52
2.5.1 名字空间声明 53
2.5.2 使用名字空间 53
2.5.3 标准名字空间std 55
2.6 小结 56
习题 2 56
第3章 函数 58
3.1 函数的定义与声明 58
3.2 函数调用 59
3.2.1 如何调用函数 59
3.2.2 参数传递 60
3.2.3 函数的返回类型 64
3.2.4 嵌套调用与递归调用 66
3.2.5 如何调用库函数 67
3.3 函数指针 67
3.4 static函数 69
3.5 inline函数 70
3.6 函数重载 71
3.7 带默认形参值的函数 72
3.8 小结 73
习题 3 73
第4章 类与对象 75
4.1 类与对象的定义 75
4.1.1 类的定义 75
4.1.2 类对象 78
4.1.3 类的封装性和信息隐藏 80
4.2 构造函数与析构函数 81
4.2.1 构造函数 82
4.2.2 析构函数 91
4.2.3 构造与析构的顺序 92
4.3 赋值成员函数 95
4.4 静态成员 98
4.4.1 静态数据成员 98
4.4.2 静态成员函数 99
4.5 常成员 100
4.5.1 常数据成员 100
4.5.2 常成员函数 101
4.5.3 mutable 102
4.6 指向成员的指针 103
4.6.1 成员指针的定义与使用 103
4.6.2 如何得到成员函数的地址 105
4.7 组合类 106
4.8 友元 108
4.8.1 友元函数 108
4.8.2 友元类 112
4.9 小结 113
习题 4 114
第5章 运算符重载 115
5.1 运算符重载的概念 115
5.2 运算符重载的规则 116
5.3 运算符重载的两种形式 116
5.3.1 重载为类的成员函数 116
5.3.2 重载为类的友元函数 118
5.3.3 两种重载方式讨论 119
5.4 特殊运算符重载举例 120
5.4.1 类型转换运算符 120
5.4.2 复合赋值运算符 121
5.4.3 自增和自减运算符 122
5.4.4 流提取运算符和流插入运算符 124
5.5 函数对象 125
5.6 小结 128
习题 5 128
第6章 继承与派生 129
6.1 基类与派生类 129
6.2 对基类成员的访问控制 130
6.2.1 公有继承 130
6.2.2 私有继承 134
6.2.3 保护继承 135
6.3 派生类的构造函数与析构函数 135
6.3.1 构造函数 135
6.3.2 析构函数 137
6.4 组合与继承的选择 139
6.5 多继承中的歧义 140
6.6 虚基类 141
6.7 小结 144
习题 6 144
第7章 多态 146
7.1 多态性概述 146
7.2 虚函数 147
7.2.1 虚函数的声明与应用 147
7.2.2 虚析构函数 150
7.3 如何实现动态绑定 152
7.4 纯虚函数与抽象类 155
7.5 小结 160
习题 7 160
第8章 模板 161
8.1 函数模板 161
8.1.1 函数模板的定义与使用 161
8.1.2 函数模板重载 164
8.1.3 函数模板专门化 165
8.1.4 使用标准库中的函数模板 166
8.2 类模板 167
8.2.1 类模板的定义与使用 167
8.2.2 类模板专门化 170
8.2.3 作为函数的参数及返回类型 172
8.2.4 使用标准库中的类模板 174
8.2.5 类模板的继承与派生 175
8.3 小结 178
习题 8 179
第9章 异常处理 180
9.1 异常处理概述 180
9.2 异常处理的实现 180
9.3 带异常声明的函数 184
9.4 成员函数抛出异常 185
9.4.1 一般成员函数抛出异常 185
9.4.2 构造函数抛出异常 186
9.4.3 析构函数抛出异常 188
9.5 标准库中的异常类型 189
9.6 小结 192
习题 9 192
第10章 C++标准库 193
10.1 标准库组织 193
10.2 容器 195
10.2.1 容器的成员 196
10.2.2 顺序容器 198
10.2.3 顺序容器适配器 200
10.2.4 关联容器 202
10.2.5 近容器 205
10.3 string 205
10.4 泛型算法 207
10.5 迭代器 210
10.5.1 迭代器的分类 211
10.5.2 使用迭代器 211
10.6 函数对象 215
10.7 流类 220
10.7.1 标准流 221
10.7.2 文件流 222
10.7.3 串流 223
10.7.4 重载提取运算符和插入运算符 224
10.7.5 输入/输出成员函数 225
10.7.6 输入/输出格式控制 228
10.8 数值计算 231
10.8.1 数学函数 231
10.8.2 向量计算 232
10.8.3 复数计算 234
10.8.4 泛型数值算法 235
10.8.5 随机数产生 236
10.9 小结 239
第11章 用面向对象方法开发学生信息管理系统 240
11.1 MFC简介 240
11.2 学生信息管理系统 240
11.2.1 建立基于对话框的应用程序框架 241
11.2.2 设计登录界面 243
11.2.3 设计User类 244
11.2.4 实现用户登录功能 246
11.2.5 设计学生信息管理系统主界面 247
11.2.6 实现学生管理功能 251
11.3 小结 258
附录 ASCII码表 259
参考文献 260