第1章 绪论 1
1.1 面向过程的程序设计方法 1
1.2 面向对象的程序设计方法 3
1.3 面向对象的程序设计语言 10
本章小结 13
习题 13
第2章 从C语言到C++语言 15
2.1 C++语言中的注释语句 15
2.2 C++语言中的输入/输出 16
2.3 变量和类型 17
2.4 C++语言中的函数 20
2.5 动态内存分配 25
2.6 引用 28
2.7 命名空间 32
本章小结 34
上机实训 35
习题 40
第3章 类与对象 43
3.1 类的定义与实现 43
3.2 类的使用——对象 47
3.3 构造函数和析构函数 48
3.4 对象赋值与对象复制 55
3.5 对象指针和this指针 59
3.6 对象数组和对象指针数组 63
3.7 对象引用 65
3.8 渐增式软件开发 67
本章小结 70
上机实训 71
习题 73
第4章 类与复杂对象 77
4.1 堆对象 77
4.2 const特性 82
4.3 静态成员 86
4.4 友元 92
4.5 类型转换与转换函数 98
4.6 对象的生命期 100
4.7 渐增式软件开发 102
本章小结 108
上机实训 109
习题 112
第5章 继承和派生类 116
5.1 基类和派生类 116
5.2 单继承 118
5.3 在派生类中重定义基类中的成员 133
5.4 基类和派生类的赋值兼容规则 137
5.5 多继承 139
5.6 虚基类 144
5.7 渐增式软件开发——继承与组合 148
本章小结 153
上机实训 154
习题 155
第6章 多态性和虚函数 158
6.1 多态和绑定 158
6.2 虚函数 161
6.3 纯虚函数与抽象类 170
6.4 虚析构函数 172
6.5 渐增式软件开发 174
本章小结 178
上机实训 178
习题 181
第7章 运算符重载 185
7.1 概述 185
7.2 双目运算符重载 188
7.3 单目运算符重载 191
7.4 赋值运算符重载 192
7.5 几个典型运算符的重载 197
本章小结 203
上机实训 203
习题 207
第8章 模板 210
8.1 模板的概念 210
8.2 函数模板 211
8.3 类模板 216
8.4 STL模板库 220
本章小结 241
上机实训 242
习题 245
第9章 I/O流 248
9.1 C++I/O流及流类 248
9.2 I/O流类成员函数 250
9.3 数据输入/输出的格式控制 254
9.4 插入符和提取符的重载 257
9.5 文件操作 258
9.6 字符串流 266
9.7 流错误处理 268
本章小结 269
上机实训 269
习题 271
第10章 异常处理 274
10.1 异常处理概述 274
10.2 C++异常处理基础 275
10.3 C++异常处理的特殊情况 279
10.4 异常与类 282
10.5 自定义异常类 288
10.6 使用异常处理的其他建议 291
本章小结 292
上机实训 292
习题 294
第11章 面向对象的设计和实现 296
11.1 类的设计 296
11.2 面向对象程序设计的原则 300
11.3 面向对象设计中的模式 304
本章小结 313
习题 314
第12章 面向对象编程实例 315
12.1 边界类、控制类和实体类 315
12.2 通讯录程序设计 316
参考文献 326