内容简介
概述
本书阅读指南
第1章 面向对象设计和编程
1.1 C程序设计中的问题
1.2 解决方案:面向对象程序设计
1.3 面向对象方法的关键概念
1.3.1 域或问题域或系统
1.3.2 对象
1.3.3 类
1.3.4 消息和方法
1.3.5 继承
1.3.6 多重继承
1.3.7 类成分或层
1.3.8 多态性
1.4 面向对象分析和设计的步骤
1.5 CRC卡(类、职责、合作者)——类设计的方法
1.6 面向对象方法——分而治之
1.6.1 设计开发人员的作用
1.6.2 C应用程序编写者的作用
1.7 从传统设计文档到面向对象设计
1.8 面向对象设计术语与C术语
第2章 C的基本特性
2.1 ANSI C和C的共性
2.2 C语言的设计目标
2.3 注释
2.4 标识符
2.5 “单名空间”
2.6 常量
2.7 关键字
2.8 void
2.8.3 void指针
2.8.2 void实参
2.8.1 void函数
2.9 声明出现的位置
2.10 const
2.11 枚举
2.12 函数原型和定义
2.13 内联函数
2.14 函数调用中的默认实参
2.15 重载函数
2.16 重载函数的选择规则
2.17 建立重载函数族系的策略
2.18 函数名换名
2.19 引用变量
2.20 引用传递
2.21 返回引用的函数
2.22 终端I/O:CIN,COUT,CERR,格式化输出,CIN.GETLINE
2.22.2 利用getline()读取字符串
2.22.1 格式化输出
2.23 动态存储分配
2.24 练习
第3章 类
3.1 类的定义
3.2 私有意味着什么?
3.3 类成员
3.4 类中数据的类型
3.5 定义对象(变量)
3.6 公有类成员初始化
3.7 一个对象由另一个对象初始化
3.8 对象的内存布局
3.9 使用类成员
3.10 类成员函数
3.11 作用域运算符
3.12 CONST成员函数
3.13 综合示例
3.14 对成员函数的注释
3.15 程序文件的组成
3.16 指向对象的指针
3.17 指向成员函数的指针
3.17.1 指向成员函数指针的示例
3.17.2 上面示例的更紧凑形式
3.18 指针和动态分配的对象
3.19 在函数调用中按值传递对象
3.20 在函数调用中引用传递对象
3.21 嵌套类定义
3.22 类成员对象:分层类——成分
3.23 类成员指针和引用对象
3.24 静态成员变量和函数
3.24.1 静态成员变量
3.24.2 静态成员函数
3.25 结构与联合
3.26 练习
第4章 构造函数和析构函数
4.1 定义构造函数
4.2 构造函数在创建对象中的作用
4.3 定义对象的语句格式
4.3.1 无实参构造函数——默认构造函数
4.3.2 单实参构造函数
4.3.3 多实参构造函数
4.4 构造函数和动态对象
4.5 构造函数和对象数组
4.6 构造函数和动态对象数组
4.7 针对分层(成分)类的构造函数
4.8 对常量和引用成员变量初始化
4.9 带对象参数的构造函数
4.10 拷贝构造函数
4.11 带动态存储分配的构造函数
4.12 定义析构函数
4.13 何时运行构造函数和析构函数?
4.13.1 跟踪构造函数/析构函数执行过程
4.13.2 构造函数、析构函数和函数调用
4.14 练习
第5章 友元函数和友元类
5.1 友元函数示例
5.2 友元类
5.3 练习
第6章 重载运算符
6.1 运算符重载的规则和特点
6.2 运算符重载是函数
6.3 成员、友元和非友元重载
6.3.1 成员运算符重载
6.3.2 非成员运算符重载
6.3.3 友元运算符重载
6.4 非成员运算符重载
6.5 非成员运算符重载是伪函数
6.6 友元运算符重载
6.7 指针“this”
6.8 运算符重载的种类
6.9 成员运算符重载
6.10 建立运算符重载的策略
6.11 成员运算符重载是伪成员函数
6.12 运算符和--的重载
6.13 =运算符重载和动态存储分配
6.14 []运算符重载
6.15 练习
第7章 C数据类型转换
7.1 隐式数据类型转换
7.2 构造函数和类型转换
7.3 赋值运算符和类型转换
7.4 重载类型强制运算符
7.5 混合数据类型表达式中的类型转换
7.6 字符串表达式中对象的类型强制
7.7 类型转换和运算符重载参数
7.8 函数调用中实参的类型转换
7.9 类型转换和函数返回
7.10 练习
第8章 C终端和文件I/O
8.1 终端I/O
8.2 输出流显示格式
8.3 I/O前导文件——IOSTREAM.H和FSTREAM.H
8.4 打开和关闭文件
8.5 读写基本数据
8.6 使用<<和>>重载读写对象
8.7 测试I/O状态
8.8 随机访问
8.9 二进制文件
8.10 操作函数简介
8.11 定义操作函数
8.12 练习
第9章 类的派生和类的级别
9.1 类的保护区
9.2 公有的、私有的和保护的基类
9.3 多级层次结构的私有规则
9.4 多重继承
9.5 派生类构造函数
9.6 派生类析构函数
9.7 构造函数和析构函数的调用次序
9.8 派生类和基类的函数调用
9.9 虚基类
9.10 练习
第10章 虚函数和多态性
10.1 指向基类对象的指针及其引用
10.2 基类与派生类间的类型转换规则
10.3 函数层次结构
10.4 虚函数层次结构
10.5 虚函数机制
10.6 多态性
10.7 多重虚函数层次结构
10.8 纯虚函数和抽象类
10.9 练习
第11章 模板
11.1 模板函数
11.2 模板函数参数必须依赖于元素类型
11.3 有多个元素类型的模板函数
11.4 模板函数与重载函数族系
11.5 利用模板生成函数定义
11.6 模板类
11.8 练习
11.7 各种模板类元素类型
第12章 异常处理
12.1 尝试、捕捉和投掷异常
12.2 投掷和捕捉
12.3 有关异常的规则
12.4 多路捕捉
12.5 关于异常处理程序列表的规则
12.6 关于匹配处理程序数据类型的规则
12.7 在函数原型中投掷规格说明
12.8 解释处理程序机制的示意图
12.9 异常成组
12.10 构造函数错误和异常
12.11 练习
第13章 将应用程序移植到C
13.1 把前ANSI C转换到ANSI C
13.2 由C移植到C的步骤
14.1 虚函数返回值
第14章 C新特性
14.2 MUTABLE关键字
14.3 布尔数据类型
14.4 对程序中数据类型的处理以及typeid()
14.5 名空间和USING声明
14.6 新的类型强制格式和RTTI(运行时类型信息)
第15章 链接表及其他应用程序
15.1 有关重载运算符[]
15.2 链接表
15.3 异构链接表
15.4 MS-DOS随机磁盘映射
第16章 面向对象进程间通信(IPCs)
16.1 内存映射
16.2 共享内存
16.3 文件加锁
16.4 信号量
16.5 用信号量同步共享内存
16.6 消息队列
16.7 用SOCKETS实现进程间网络通信
第17章 标准模板库(STL)
17.1 STL的一般结构
17.1.1 包容
17.1.2 迭代量
17.1.3 算法
17.2 使用STL的策略
17.3 STL和基本数据类型
17.3.1 算法与基本数据类型
17.3.2 I/O迭代量和基本数据类型
17.4 迭代量的一般特性
17.5 顺序包容类
17.5.1 vector包容类
17.6 包容适配器
17.5.3 deque包容类
17.5.2 list包容类
17.7 相关包容类
17.8 使用带包容的迭代量和算法
附录A C语言速成
A.1 简单变量
A.2 注释
A.3 常量
A.3.1 int型常量
A.3.2 long int型常量
A.3.3 char型常量
A.3.4 字符串常量
A.3.5 浮点常量
A.4 运算符
A.5 函数
A.6 IF结构、循环结构和SWITCH结构
A.7 程序结构和变量存储级
A.8 指针
A.9 数组
A.10 结构
A.11 终端输入和输出
附录B 练习解答
第2章 练习解答
第3章 练习解答
第4章 练习解答
第5章 练习解答
第6章 练习解答
第7章 练习解答
第8章 练习解答
第9章 练习解答
第10章 练习解答
第11章 练习解答
第12章 练习解答
参考文献