第1章 C++语言概述
1.1 C++语言的特点
1.2 C++标准库简介
1.3 简单的C++程序
1.4 程序的编辑、编译、连接与运行
1.5 小结
习题一
第2章 C++编程基础
2.1 C++的词法规则
2.1.1 字符集
2.1.2 词汇
2.2 C++的数据类型
2.2.1 基本类型
2.2.2 常量与变量
2.2.3 自定义数据类型
2.2.4 扩展数据类型
2.2.5 类型转换
2.2.6 typedef与typeid
2.3 表达式与语句
2.3.1 运算符与表达式
2.3.2 语句
2.4 预处理命令
2.4.1 宏定义命令
2.4.2 文件包含命令
2.4.3 条件编译命令
2.5 名字空间
2.5.1 名字空间声明
2.5.2 使用名字空间
2.5.3 标准名字空间std
2.6 小结
习题二
第3章 函数与函数模板
3.1 函数的定义与声明
3.2 函数调用
3.2.1 如何调用函数
3.2.2 参数传递
3.2.3 函数的返回类型
3.2.4 嵌套调用与递归调用
3.2.5 如何调用库函数
3.3 函数指针
3.4 static函数
3.5 inline函数
3.6 函数重载
3.7 带默认形参值的函数
3.8 函数模板
3.8.1 函数模板的定义与使用
3.8.2 函数模板重载
3.8.3 函数模板专门化
3.8.4 使用标准库中的函数模板
3.9 小结
习题三
第4章 类与类模板
4.1 类与类对象的定义
4.1.1 类的定义
4.1.2 类对象:
4.1.3 类的封装性和信息隐藏
4.2 构造函数与析构函数
4.2.1 构造函数
4.2.2 析构函数
4.2.3 构造与析构的顺序
4.3 赋值成员函数
4.4 静态成员
4.4.1 静态数据成员
4.4.2 静态成员函数
4.5 常成员
4.5.1 常数据成员
4.5.2 常成员函数
4.5.3 mutable
4.6 指向成员的指针
4.6.1 成员指针的定义与使用
4.6.2 如何得到成员函数的地址
4.7 组合类
4.8 友元
4.8.1 友元函数
4.8.2 友元类
4.9 类模板
4.9.1 类模板的定义与使用
4.9.2 类模板专门化
4.9.3 作为函数的参数及返回类型
4.9.4 使用标准库中的类模板
4.10 小结
习题四
第5章 运算符重载
5.1 运算符重载的概念
5.2 运算符重载的规则
5.3 运算符重载的两种形式
5.3.1 重载为类的成员函数
5.3.2 重载为类的友元函数
5.3.3 两种重载方式讨论
5.4 特殊运算符重载举例
5.4.1 类型转换运算符
5.4.2 复合赋值运算符
5.4.3 自增和自减运算符
5.4.4 流提取运算符和流插入运算符
5.5 函数对象
5.6 小结
习题五
第6章 继承与派生
6.1 基类与派生类
6.2 对基类成员的访问控制
6.2.1 公有继承
6.2.2 私有继承
6.2.3 保护继承
6.3 派生类的构造函数与析构函数
6.3.1 构造函数
6.3.2 析构函数
6.4 组合与继承的选择
6.5 多继承中的歧义
6.6 虚基类
6.7 类模板的继承与派生
6.8 小结
习题六
第7章 多态
7.1 多态性概述
7.2 虚函数
7.2.1 虚函数的声明与应用
7.2.2 虚析构函数
7.3 C++如何实现动态绑定
7.4 纯虚函数与抽象类
7.5 小结
习题七
第8章 异常处理
8.1 异常处理概述
8.2 异常处理的实现
8.3 带异常声明的函数
8.4 成员函数抛出异常
8.4.1 一般成员函数抛出异常
8.4.2 构造函数抛出异常
8.4.3 析构函数抛出异常
8.5 标准库中的异常类型
8.6 小结
习题八
第9章 C++标准库
9.1 标准库组织
9.2 容器
9.2.1 容器的成员
9.2.2 顺序容器
9.2.3 顺序容器适配器
9.2.4 关联容器
9.2.5 近容器
9.3 string
9.4 泛型算法
9.5 迭代器
9.5.1 迭代器的分类
9.5.2 使用迭代器
9.6 函数对象
9.7 流类
9.7.1 标准流
9.7.2 文件流
9.7.3 串流
9.7.4 重载提取运算符和插入运算符
9.7.5 输入/输出成员函数
9.7.6 输入/输出格式控制
9.8 数值计算
9.8.1 数学函数
9.8.2 向量计算
9.8.3 复数计算
9.8.4 泛型数值算法
9.8.5 随机数产生
9.9 小结
附录A ASCII码表
参考文献