书籍详情
标准C++宝典
作者:(美)Al Stevens,(美)Clayton Walnum著;林丽闽,别红霞等译;林丽闽译
出版社:电子工业出版社
出版时间:2001-02-01
ISBN:9787505365032
定价:¥88.00
购买这本书可以去
内容简介
标准C++是1998年正式推出的关于C++的国际性标准版本,本书以此标准为基础,对C++进行了全面地介绍。本书从最基本的内容讲起,对C++强大的功能作了详细介绍,并运用C++的最新功能,详细论述了面向对象编程的思想。本书针对那些比较高深难懂的主题也做了深入浅出的介绍,比如模板(包括标准模板库,即STL)、名字空间以及运行时类型信息(BTTI)等,这些功能对开发大型复杂系统的程序设计人员非常重要。因此,无论是新手还是有经验的程序员,都可以从本书中找到丰富的信息。使用本书,读者不仅可以学到技术,还可以得到最好的练习,使自己的程序设计水准达到专业水平。本书是学习和使用C/C++的优秀工具书,其内容综合、完整,叙述清晰、易懂,实例典型、丰富,适合于学习C和C++语言的读者使用。
作者简介
暂缺《标准C++宝典》作者简介
目录
前言
第1部分 C++语言
第1章 C++程序设计概述
1.1 C语言和C++语言的简要历史
1.2 C语言的未来
1.3 C与C++
1.4 C++简述
1.5 主函数main()
1.6 小结
第2章 一个简单的C++程序
2.1 学写第一个程序
2.1.1 #include指令
2.1.2 空白
2.1.3 main()函数的声明
2.1.4 main()函数的作用范围
2.1.5 源程序中的注释
2.1.6 控制台输出
2.1.7 return语句
2.1.8 程序的结束
2.2 标识符
2.3 关键字
2.4 标准输出流
2.5 变量
2.5.1 布尔型
2.5.2 字符型
2.5.3 wchar_t型
2.5.4 整型
2.5.5 浮点类型
2.6 常量
2.6.1 字符型常量
2.6.2 转义字符
2.6.3 整型常量
2.6.4 浮点型常量
2.6.5 地址常量
2.6.6 字符串常量
2.7 表达式
2.8 赋值语句
2.9 用逗号分隔开的声明语句
2.10 表达式中的运算符
2.10.1 算术运算符
2.10.2 逻辑运算符
2.10.3 位逻辑运算符
2.10.4 位移运算符
2.10.5 关系运算符
2.10.6 自增和自减运算符
2.10.7 赋值运算符
2.10.8 复合赋值运算符
2.10.9 条件运算符
2.10.10 逗号运算符
2.11 优先级与结合性
2.11.1 结合性
2.11.2 优先级
2.12 表达式不参加运算的情况
2.13 初始化
2.14 类型转换
2.15 控制台输入与输出
2.15. l 标准输出流
2.15.2 格式化输出
2.15.3 标准错误流
2.15. 4 标准输入流
2.16 小结
第3章 函数
3.1 函数
3.1.1 再谈main()函数
3.2 实际参数与形式参数
3.3 函数的原型声明
3.3.1 无标识符的参数类型
3.3.2 一个典型的函数原型
3.3.3 void型的函数返回值
3.3.4 不带参数的函数
3.3.5 参数个数可变的函数
3.3.6 既没有返回值也不带参数的函数
3.3.7 标准库函数的原型
3.3.8 不需要原型的函数
3.4 函数的定义和调用
3.5 函数的返回
3.6 函数的返回值
3.6.1 忽略函数的返回值
3.7 参数的传递和使用
3.7.1 标识符的作用域
3.7.2 通过函数调用来初始化
3.7.3 初始化执行Nj顷序
3.7.4 传递多个参数
3.7.5 用作实参的函数调用
3.7.6 值传递
3.7.7 实参和返回值的类型转换
3.8 无名的函数形参
3.9 函数的默认参数
3.10 内联函数
3.11 递归
3.12 函数重载
3.12.1 为完成不同的操作而重载
3.12.2 为不同的格式而重载
3.13 安全连接
3.14 连接说明
3.15 小结
第4章 程序流程控制
4.1 语句块
4.1.1 嵌套深度
4.1.2 缩进风格
4.2 条件语句
4.2.1 if语句
4.2.2 if…else语句
4.2.3 else…if语句
4.2.4 switch...casx语句
4.2.5 在if语句的条件表达式里声明变量
4.3 循环语句
4.3.1 while语句
4.3.2 do...Whle语句
4.3.3 for语句
4.3.4 在for语句的条件表达式内声明变量
4.4 循环控制
4.4.1 break语句
4.4.2 continue语句
4.5 跳转
4.5.1 goto语句的错误用法
4.5.2 C十十的goto和C的goto
4.5.3 goto语句错误的改正
4.5.4 是否可以使用goto语句
4.6 小结
第5章 C++数据类型
5.1 作用域
5.1.1 全局作用域
5.1.2 局部作用域
5.1.3 全局作用域解析符
5.1.4 文件作用域
5.1.5 作用域和生存周期
5.2 存储类型
5.2.1 自动存储类型
5.2.2 静态存储类型
5.2.3 外部存储类型
5.2.4 寄存器存储类型
5.3 初始化的默认值
5.4 类型修饰符
5.4.1 const类型修饰符
5.4.2 volati1e类型修饰符
5.5 用户定义的数据类型
5.5.1 结构的声明
5.5.2 结构变量的定义
5.5.3 对结构成员的引用
5.5.4 结构的初始化
5.5.5 结构的嵌套
5.5.6 向函数传递结构和从函数返回结构
5.6 联合数据类型
5.6.1 联合的初始化
5.6.2 匿名联合
5.6.3 枚举常量
5.7 数组
5.7.1 数组的声明
5.7.2 利用下标访问数组元素
5.7.3 数组的初始化
5.7.4 结构数组
5.7.5 多维数组
5.7.6 字符型数组
5.8 小结
第6章 指针、地址和引用型变量
6.1 指针和地址
6.1.1 指向内部数据类型的指针
6.1.2 指针的算术运算
6.1.3 指针和数组
6.1.4 结构指针
6.1.5 用作函数参数的指针
6.1.6 以地址作为函数的返回值
6.1.7 函数指针
6.1.8 指针的指针
6.1.9 指向指针数组的指针
6.1.10 指向const型变量的指针
6.1.11 const型指针变量
6.1.12 void型指针
6.2 sizeof运算符
6.3 C风格的强制类型转换
6.3.1 typedef
6.4 命令行参数
6.5 程序的内存结构
6.5.1 堆
6.5.2 new和delete运算符
6.5.3 为固定大小的数组分配内存
6.5.4 为动态数组分配内存
6.5.5 堆耗尽时的处理
6.5.6 栈
6.6 递归
6.6.1 一个简单递归的例子
6.6.2 一个使用了递归的计算器程序
6.7 引用型变量
6.7.1 引用是一个别名
6.7.2 引用的初始化
6.7.3 利用引用来简化复杂的表示法
6.7.4 作为函数形参的引用
6.7.5 以引用方式调用
6.7.6 const型引用形参
6.7.7 以引用作为返回值
6.7.8 以const型引用作为返回值
6.7.9 返回指向自变量的引用
6.7.10 指针和引用
6.8 小结
第7章库函数
7.1 <Cassert>
7.2 <cctype>
7.3 <Cermo>
7.4 <cmath>
7.5 <csetjmp>
7.6 <cstdarg>
7.7 <cstdio>
7.8 <cstdlib>
7.8.1 数字函数
7.8.2 内存管理函数
7.8.3 系统函数
7.8.4 随机数发生器函数
7.9 <cstring>
7.10 <ctime>
7.11 小结
第8章 预处理过程
8.1 预处理指令
8.2 文件的包含
8.2.1 #include指令
8.3 宏
8.3.1 # define指令
8.3.2 带参数的#define指令
8.3.3 格式和对齐
8.3.4 #运算符
8.3.5 # #运算符
8.3.6 # undef指令
8.4 条件编译指令
8.4.1 #if指令
8.4.2 #endif指令
8.4.3 #ifdefined指令
8.4.4 #ifdef和#infndef指令
8.4.5 #else指令
8.4.6 #elif指令
8.4.7 并error指令
8.5 其他标准指令
8.5.1 并line指令
8.5.2 #pragma指令
8.6 小结
第9章 结构与类
9.1 C十十的类
9.2 数据类型的属性
9.2.1 数据描述
9.2.2 实现
9.2.3 性质
9.2.4 接口
9.3 用户定义数据类型
9.3.1 抽象
9.3.2 对象是什么
9.3.3 数据抽象和面向过程编程
9.3.4 数据抽象和封装
9.4 带有函数的结构体
9.4.1 向结构体添加函数
9.4.2 同一结构的多个实例
9.4.3 具有相同函数名的不同结构
9.5 访问控制符
9.6 面向过程的编程方法
9.7 类与结构的比较
9.8 联合体
9.9 小结
第10章 函数模板
10.1 函数模板基础
10.2 函数的定制
10.3 使用模板排序
10.4 小结
第2部分 类的使用
第11章 C++类
11.1 类的设计
11.1.1 类的声明
11.1.2 类的成员
11.1.3 类成员的可见性
11.1.4 数据成员
11.1.5 初始化
11.1.6 成员函数
11.1.7 面向对象的类的设计方法
11.1.8 类对象的作用域
11.1.9 内联函数
11.2 构造函数
11.2.1 使用默认参数的构造函数
11.2.2 默认构造函数
11.2.3 重载构造函数
11.3 析构函数
11.4 类的转换
11.4.1 转换函数
11.4.2 转换构造函数
11.4.3 成员转换函数
11.4.4 类的转换
11.4.5 转换函数的调用
11.4.6 转换发生的情形
11.4.7 显式构造函数
11.4.8 表达式内部的转换
11.5 私有数据成员的使用
11.5.1 取值和赋值成员函数
11.5.2 常量成员函数
11.5.3 改进的成员转换函数
11.6 友元
11. 6. 1 友元类
11.6.2 隐式构造函数
11.6.3 预引用
11.6.4 显式友元预引用
11.6.5 友元函数
11.6.6 匿名对象
11.6.7 非类成员的友元函数
11.7 析构函数的使用
11.8 重载赋值运算符
11.9 this指针
11.9.1 以this指针作为返回值
11.9.2 在链表中使用this指针
11.10 类对象数组
11.10.1 类对象数组和默认构造函数
11.10.2 类对象数组和析构函数
11.11 静态成员
11.11.1 静态数据成员
11.11.2 静态成员函数
11.11.3 公有静态成员
11.12 类和堆
11.12.1 构造函数和析构函数
11.12.2 堆和类数组
11.12.3 重载new和delete运算符
11.12.4 检测异常
11.12.5 重载neW和delete中的异常处理
11.12.6 重载new[]和delete[]
11.13 拷贝构造函数
11.14 类的引用
11.15 构造函数的参数初始化表
11.16 对const修饰符的简单说明
11.17 可变的数据成员
11.18 类的源文件和目标文件的管理
11.18.1 头文件中的类声明
11.18.2 库中的类成员函数
11.19 小结
第12章 运算符重载
12.1 运算符重载的时机
12.2 运算符重载的一个例子
12.3 运算符重载的规则
12.4 双目算术运算符
12.5 作为类成员的运算符函数
12.6 非类成员的运算符函数
12.7 关系运算符
12.8 其他的赋值运算符
12.9 自增和自减运算符
12.10 单目正、负运算符
12.11 下标运算符
12.12 成员指针运算符
12.13 小结
第13章 类的继承
13.1 继承
13.2 为什么要使用继承
13.3 数据抽象类的设计
13.3.1 基类
13.3.2 效率设计
13.3.3 单继承
13.3.4 派生类
13.3.5 受保护的成员
13.3.6 派生类的成员和定制的成员
13.3.7 公有和私有的基类
13.3.8 基类和派生类的构造函数
13.3.9 定制新的成员函数
13.3.10 重定义基类的成员函数
13.3.11 编写程序
13.3.12 用于基类和派生类的作用域运算符
13.3.13 多个派生类
13.3.14 第二个派生类
13.3.15 使用基类和派生类
13.3.16 派生类之间的关系
13.3.17 从派生类派生出的类
13.4 类层次结构的设计
13.4.1 C++与纯面向对象的设计
13.4.2 数据抽象
13.4.3 重载运算符<<和>>
13.4.4 两个更为抽象的数据
13.4.5 包含头文件
13.4.6 C++标准字符串类
13.5 基类Person
13.5.1 类中的枚举数据类型
13.5.2 虚函数
13.5.3 纯虚函数
13.5.4 两种显示方式
13.6 派生类
13.6.1 类Employee
13.6.2 函数重载
13.6.3 类WagedEmployee
13.6.4 类SalariedEmployee
13.6.5 类Contractor
13.6.6 构造目标代码库
13.6.7 使用问题域类层次结构
13.6.8 用引用方式调用虚函数
13.6.9 用引用方式调用非虚函数
13.6.10 对重定义的虚函数的调用
13.6.11 派生类没有重定义的虚函数
13.6.12 虚析构函数
13.6.13 哪些成员函数应该定义为虚函数
13.7 多态性
13.8 小结
第14章 多重继承
14.1 多个基类
14.1.1 多重继承中的构造函数的执行
14.1.2 多重继承中的析构函数的执行
14.2 细化资产系统的设计
14.3 重定义多重继承中的成员
14.4 多重继承中的二义性
14.4.1 二义性成员函数
14.4.2 二义性数据成员
14.4.3 在设计时解决二义性问题
14.4.4 不可避免的二义性问题
14.5 虚基类
14.6 设计的实现
14.6.1 类DisplayObject
14.6.2 类Vehicle
14.6.3 类Property
14.6.4 类Asset和Expense
14.6.5 类Computer和Pencile
14.6.6 类CompanyCar和LeaseCar
14.6.7 应用程序
14.7 回顾
14.8 小结
第15章 类模板
15.1 类模板的基本知识
15.2 声明模板类的多个对象
15.3 调用类模板的成员函数
15.4 声明多个参数
15.5 有界数组类模板
15.6 何时使用类模板
15.7 链表模板
15.7.1 整数值对象链表
15.7.2 日期对象链表
15.8 定制模板
15.8.1 定制类模板
15.8.2 定制模板成员函数
15.8.3 模板的部分定制
15.9 类模板的默认参数
15.10 小结
第16章 面向对象的程序设计
16.1 基本知识
16.2 过程化程序设计
16.3 面向对象的程序设计
16.3.1 面向对象的程序
16.3.2 对象
16.3.3 抽象
16.3.4 封装
16.3.5 方法和消息
16.3.6 功能性方法
16.3.7 数据类型方法
16.3.8 隐式类型转换方法
16.3.9 成员函数
16.3.10 继承
16.3.11 单个继承
16.3.12 多重继承
16.3.13 类的关系
16.3.14 多态性
16.4 小结
第3部分 C++标准库
第17章 C++标准库简介
17.1 类std::string
17.1.1 构造字符串
17.1.2 给字符串赋值
17.1.3 字符串的连接
17.1.4 字符串的下标
17.1.5 字符串的比较
17.1.6 子串
17.1.7 搜索字符串
17.1.8 字符串操作
17.2 输入/输出流
17.2.1 流类
17.2.2 缓冲输出
17.2.3 格式化输出
17.2.4 文件的输入/输出
17.3 类std::complex
17.4 标准模板类
17.5 标准异常
17.6 小结
第18章 类iostream和stringstream的格式化
18.1 格式化输出
18.2 操纵算子、标志和成员函数
18.2.1 函数ios::width
18.2.2 操纵算子std:setw
18.2.3 函数std::ios::fill
18.2.4 输出对齐
18.2.5 操纵算子sebrecislon
18.2.6 科学记数法和定点记数法
18.2.7 函数std::ios:setf和std::ios::unse1f
18.2.8 格式化标志
18.2.9 格式化操纵算子
18.2.10 格式化函数
18.3 小结
第19章 文件输入/输出流
19.1 文件流类的层次结构
19.2 类std::ofstream
19.3 类ifstream
19.3.1 读取文件直至文件结束
19.3.2 在文件中定位
19.3.3 读取和写入流文件
19.3.4 文件与流的关联与解除关联
19.4 二进制文件与文本文件
19.5 类std::fstream
19.6 小结
第4部分 标准模板库
第20章 标准模板库简介
20.1 为什么需要Sr几
20.2 STL编程模型
20.2.1 序列
20.2.2 容器适配器
20.2.3 结合容器
20.2.4 指示器
20.2.5 算法
20.2.6 函数对象参数
20.2.7 内存分配器
20.3 小结
第21章 序列
21.1 序列容器简介
21.2 向量类模板
21.2.1 插入和访问向量元素
21.2.2 删除向量元素
21.2.3 向量的比较
21.2.4 向量的成员函数
21.3 双端队列类模板
21.3.1 插入和访问双端队列的元素
21.3.2 删除双端队列的元素
21.3.3 比较双端队列
21.3.4 双端队列的成员函数
21.4 链表模板类
21.4.1 插入链表元素
21.4.2 删除链表元素
21.4.3 比较链表
21.4.4 链表成员函数
21.5 容器适配器std::stack
21.6 容器适配器std::queue
21.7 容器适配器std:Priority_queue
21.8 小结
第22章 结合模板
22.1 介绍结合容器
22.2 类模板std:set
22.2.1 插入集合元素
22.2.2 删除集合中的元素
22.2.3 对集合进行搜索
22.2.4 在集合之间进行比较
22.2.5 集合的成员函数
22.3 类模板std:multiset
22.3.1 插入std::multiset元素
22.3.2 删除多重集合的元素
22.3.3 对std::mdtiBt进行搜索
22.3.4 在std::multiset集合之间进行比较
22.3.5 多重集合的成员函数
22.4 类模板std::map
22.4.1 插入map元素
22.4.2 删除映射中的元素
22.4.3 对映射进行搜索
22.4.4 在映射之间进行比较
22.4.5 映射成员函数
22.5 类模板std:multimap
22.5.1 插入multimap元素
22.5.2 删除多重映射的元素
22.5.3 搜索多重映射
22.5.4 对多重映射进行比较
22.5.5 多重映射的成员函数
22.6 类模板std::bitset
22.6.1 在位集合中对位进行操作
22.6.2 在位集合中测试位
22.6.3 比较位集合
22.6.4 位集合的成员函数
22.7 用户定义的谓词
22.8 小结
第23章 通用算法
23.1 介绍通用算法
23.2 非修正序列算法
23.3 修正序列算法
23.4 排序算法
23.5 数值算法
23.6 小结
第24章 指示器
24.1 指示器简介
24.2 输入指示器
24.3 输出指示器
24.4 前向指示器
24.5 双向指示器
24.6 随机访问指示器
24.7 特殊用途指示器
24.7.1 流指示器
24.7.2 指示器适配器
24.8 小结
第25章 异常处理
25.1 C中的异常处理
25.2 C++中的异常处理
25.2.1 try块
25.2.2 catch异常处理器
25.2.3 throw语句
25.2.4 try/throw/catch系列
25.2.5 异常情况指定
25.2.6 不可预见的异常
25.2.7 Catch—川异常处理模块
25.2.8 从一个处理模块中发出异常
25.2.9 没有被捕获的异常
25.3 在发出的异常中进行选择
25.4 异常情况以及没有被释放的资源
25.5 一个改进的计算器程序
25.6 小结
第5部分 C++高级主题
第26章 名字空间
26.1 名字空间的介绍
26.2 有关名字空间的成员
26.3 usingnmnespace语句
26.4 定义名字空间
26.5 嵌套名字空间
26.6 无名名字空间
26.7 名字空间的别名
26.8 小结
第27章 新风格类型转换和运行时类型信息
27.1 新风格类型转换
27.1.1 动态类型转换
27.1.2 静态类型转换
27.1.3 重新解释类型转换
27.1.4 常类型转换
27.2 运行时类型信息
27.3 小结
第28章 区域表示
28.1 国际化元素
28.2 std::1ocale类
28.2.1 标准侧面
28.2.2 默认区域表示与全局区域表示
28.3 生成区域表示对象
28.4 生成混合区域表示
28.5 流与区域表示
28.6 操作侧面
28.7 小结
附录
第1部分 C++语言
第1章 C++程序设计概述
1.1 C语言和C++语言的简要历史
1.2 C语言的未来
1.3 C与C++
1.4 C++简述
1.5 主函数main()
1.6 小结
第2章 一个简单的C++程序
2.1 学写第一个程序
2.1.1 #include指令
2.1.2 空白
2.1.3 main()函数的声明
2.1.4 main()函数的作用范围
2.1.5 源程序中的注释
2.1.6 控制台输出
2.1.7 return语句
2.1.8 程序的结束
2.2 标识符
2.3 关键字
2.4 标准输出流
2.5 变量
2.5.1 布尔型
2.5.2 字符型
2.5.3 wchar_t型
2.5.4 整型
2.5.5 浮点类型
2.6 常量
2.6.1 字符型常量
2.6.2 转义字符
2.6.3 整型常量
2.6.4 浮点型常量
2.6.5 地址常量
2.6.6 字符串常量
2.7 表达式
2.8 赋值语句
2.9 用逗号分隔开的声明语句
2.10 表达式中的运算符
2.10.1 算术运算符
2.10.2 逻辑运算符
2.10.3 位逻辑运算符
2.10.4 位移运算符
2.10.5 关系运算符
2.10.6 自增和自减运算符
2.10.7 赋值运算符
2.10.8 复合赋值运算符
2.10.9 条件运算符
2.10.10 逗号运算符
2.11 优先级与结合性
2.11.1 结合性
2.11.2 优先级
2.12 表达式不参加运算的情况
2.13 初始化
2.14 类型转换
2.15 控制台输入与输出
2.15. l 标准输出流
2.15.2 格式化输出
2.15.3 标准错误流
2.15. 4 标准输入流
2.16 小结
第3章 函数
3.1 函数
3.1.1 再谈main()函数
3.2 实际参数与形式参数
3.3 函数的原型声明
3.3.1 无标识符的参数类型
3.3.2 一个典型的函数原型
3.3.3 void型的函数返回值
3.3.4 不带参数的函数
3.3.5 参数个数可变的函数
3.3.6 既没有返回值也不带参数的函数
3.3.7 标准库函数的原型
3.3.8 不需要原型的函数
3.4 函数的定义和调用
3.5 函数的返回
3.6 函数的返回值
3.6.1 忽略函数的返回值
3.7 参数的传递和使用
3.7.1 标识符的作用域
3.7.2 通过函数调用来初始化
3.7.3 初始化执行Nj顷序
3.7.4 传递多个参数
3.7.5 用作实参的函数调用
3.7.6 值传递
3.7.7 实参和返回值的类型转换
3.8 无名的函数形参
3.9 函数的默认参数
3.10 内联函数
3.11 递归
3.12 函数重载
3.12.1 为完成不同的操作而重载
3.12.2 为不同的格式而重载
3.13 安全连接
3.14 连接说明
3.15 小结
第4章 程序流程控制
4.1 语句块
4.1.1 嵌套深度
4.1.2 缩进风格
4.2 条件语句
4.2.1 if语句
4.2.2 if…else语句
4.2.3 else…if语句
4.2.4 switch...casx语句
4.2.5 在if语句的条件表达式里声明变量
4.3 循环语句
4.3.1 while语句
4.3.2 do...Whle语句
4.3.3 for语句
4.3.4 在for语句的条件表达式内声明变量
4.4 循环控制
4.4.1 break语句
4.4.2 continue语句
4.5 跳转
4.5.1 goto语句的错误用法
4.5.2 C十十的goto和C的goto
4.5.3 goto语句错误的改正
4.5.4 是否可以使用goto语句
4.6 小结
第5章 C++数据类型
5.1 作用域
5.1.1 全局作用域
5.1.2 局部作用域
5.1.3 全局作用域解析符
5.1.4 文件作用域
5.1.5 作用域和生存周期
5.2 存储类型
5.2.1 自动存储类型
5.2.2 静态存储类型
5.2.3 外部存储类型
5.2.4 寄存器存储类型
5.3 初始化的默认值
5.4 类型修饰符
5.4.1 const类型修饰符
5.4.2 volati1e类型修饰符
5.5 用户定义的数据类型
5.5.1 结构的声明
5.5.2 结构变量的定义
5.5.3 对结构成员的引用
5.5.4 结构的初始化
5.5.5 结构的嵌套
5.5.6 向函数传递结构和从函数返回结构
5.6 联合数据类型
5.6.1 联合的初始化
5.6.2 匿名联合
5.6.3 枚举常量
5.7 数组
5.7.1 数组的声明
5.7.2 利用下标访问数组元素
5.7.3 数组的初始化
5.7.4 结构数组
5.7.5 多维数组
5.7.6 字符型数组
5.8 小结
第6章 指针、地址和引用型变量
6.1 指针和地址
6.1.1 指向内部数据类型的指针
6.1.2 指针的算术运算
6.1.3 指针和数组
6.1.4 结构指针
6.1.5 用作函数参数的指针
6.1.6 以地址作为函数的返回值
6.1.7 函数指针
6.1.8 指针的指针
6.1.9 指向指针数组的指针
6.1.10 指向const型变量的指针
6.1.11 const型指针变量
6.1.12 void型指针
6.2 sizeof运算符
6.3 C风格的强制类型转换
6.3.1 typedef
6.4 命令行参数
6.5 程序的内存结构
6.5.1 堆
6.5.2 new和delete运算符
6.5.3 为固定大小的数组分配内存
6.5.4 为动态数组分配内存
6.5.5 堆耗尽时的处理
6.5.6 栈
6.6 递归
6.6.1 一个简单递归的例子
6.6.2 一个使用了递归的计算器程序
6.7 引用型变量
6.7.1 引用是一个别名
6.7.2 引用的初始化
6.7.3 利用引用来简化复杂的表示法
6.7.4 作为函数形参的引用
6.7.5 以引用方式调用
6.7.6 const型引用形参
6.7.7 以引用作为返回值
6.7.8 以const型引用作为返回值
6.7.9 返回指向自变量的引用
6.7.10 指针和引用
6.8 小结
第7章库函数
7.1 <Cassert>
7.2 <cctype>
7.3 <Cermo>
7.4 <cmath>
7.5 <csetjmp>
7.6 <cstdarg>
7.7 <cstdio>
7.8 <cstdlib>
7.8.1 数字函数
7.8.2 内存管理函数
7.8.3 系统函数
7.8.4 随机数发生器函数
7.9 <cstring>
7.10 <ctime>
7.11 小结
第8章 预处理过程
8.1 预处理指令
8.2 文件的包含
8.2.1 #include指令
8.3 宏
8.3.1 # define指令
8.3.2 带参数的#define指令
8.3.3 格式和对齐
8.3.4 #运算符
8.3.5 # #运算符
8.3.6 # undef指令
8.4 条件编译指令
8.4.1 #if指令
8.4.2 #endif指令
8.4.3 #ifdefined指令
8.4.4 #ifdef和#infndef指令
8.4.5 #else指令
8.4.6 #elif指令
8.4.7 并error指令
8.5 其他标准指令
8.5.1 并line指令
8.5.2 #pragma指令
8.6 小结
第9章 结构与类
9.1 C十十的类
9.2 数据类型的属性
9.2.1 数据描述
9.2.2 实现
9.2.3 性质
9.2.4 接口
9.3 用户定义数据类型
9.3.1 抽象
9.3.2 对象是什么
9.3.3 数据抽象和面向过程编程
9.3.4 数据抽象和封装
9.4 带有函数的结构体
9.4.1 向结构体添加函数
9.4.2 同一结构的多个实例
9.4.3 具有相同函数名的不同结构
9.5 访问控制符
9.6 面向过程的编程方法
9.7 类与结构的比较
9.8 联合体
9.9 小结
第10章 函数模板
10.1 函数模板基础
10.2 函数的定制
10.3 使用模板排序
10.4 小结
第2部分 类的使用
第11章 C++类
11.1 类的设计
11.1.1 类的声明
11.1.2 类的成员
11.1.3 类成员的可见性
11.1.4 数据成员
11.1.5 初始化
11.1.6 成员函数
11.1.7 面向对象的类的设计方法
11.1.8 类对象的作用域
11.1.9 内联函数
11.2 构造函数
11.2.1 使用默认参数的构造函数
11.2.2 默认构造函数
11.2.3 重载构造函数
11.3 析构函数
11.4 类的转换
11.4.1 转换函数
11.4.2 转换构造函数
11.4.3 成员转换函数
11.4.4 类的转换
11.4.5 转换函数的调用
11.4.6 转换发生的情形
11.4.7 显式构造函数
11.4.8 表达式内部的转换
11.5 私有数据成员的使用
11.5.1 取值和赋值成员函数
11.5.2 常量成员函数
11.5.3 改进的成员转换函数
11.6 友元
11. 6. 1 友元类
11.6.2 隐式构造函数
11.6.3 预引用
11.6.4 显式友元预引用
11.6.5 友元函数
11.6.6 匿名对象
11.6.7 非类成员的友元函数
11.7 析构函数的使用
11.8 重载赋值运算符
11.9 this指针
11.9.1 以this指针作为返回值
11.9.2 在链表中使用this指针
11.10 类对象数组
11.10.1 类对象数组和默认构造函数
11.10.2 类对象数组和析构函数
11.11 静态成员
11.11.1 静态数据成员
11.11.2 静态成员函数
11.11.3 公有静态成员
11.12 类和堆
11.12.1 构造函数和析构函数
11.12.2 堆和类数组
11.12.3 重载new和delete运算符
11.12.4 检测异常
11.12.5 重载neW和delete中的异常处理
11.12.6 重载new[]和delete[]
11.13 拷贝构造函数
11.14 类的引用
11.15 构造函数的参数初始化表
11.16 对const修饰符的简单说明
11.17 可变的数据成员
11.18 类的源文件和目标文件的管理
11.18.1 头文件中的类声明
11.18.2 库中的类成员函数
11.19 小结
第12章 运算符重载
12.1 运算符重载的时机
12.2 运算符重载的一个例子
12.3 运算符重载的规则
12.4 双目算术运算符
12.5 作为类成员的运算符函数
12.6 非类成员的运算符函数
12.7 关系运算符
12.8 其他的赋值运算符
12.9 自增和自减运算符
12.10 单目正、负运算符
12.11 下标运算符
12.12 成员指针运算符
12.13 小结
第13章 类的继承
13.1 继承
13.2 为什么要使用继承
13.3 数据抽象类的设计
13.3.1 基类
13.3.2 效率设计
13.3.3 单继承
13.3.4 派生类
13.3.5 受保护的成员
13.3.6 派生类的成员和定制的成员
13.3.7 公有和私有的基类
13.3.8 基类和派生类的构造函数
13.3.9 定制新的成员函数
13.3.10 重定义基类的成员函数
13.3.11 编写程序
13.3.12 用于基类和派生类的作用域运算符
13.3.13 多个派生类
13.3.14 第二个派生类
13.3.15 使用基类和派生类
13.3.16 派生类之间的关系
13.3.17 从派生类派生出的类
13.4 类层次结构的设计
13.4.1 C++与纯面向对象的设计
13.4.2 数据抽象
13.4.3 重载运算符<<和>>
13.4.4 两个更为抽象的数据
13.4.5 包含头文件
13.4.6 C++标准字符串类
13.5 基类Person
13.5.1 类中的枚举数据类型
13.5.2 虚函数
13.5.3 纯虚函数
13.5.4 两种显示方式
13.6 派生类
13.6.1 类Employee
13.6.2 函数重载
13.6.3 类WagedEmployee
13.6.4 类SalariedEmployee
13.6.5 类Contractor
13.6.6 构造目标代码库
13.6.7 使用问题域类层次结构
13.6.8 用引用方式调用虚函数
13.6.9 用引用方式调用非虚函数
13.6.10 对重定义的虚函数的调用
13.6.11 派生类没有重定义的虚函数
13.6.12 虚析构函数
13.6.13 哪些成员函数应该定义为虚函数
13.7 多态性
13.8 小结
第14章 多重继承
14.1 多个基类
14.1.1 多重继承中的构造函数的执行
14.1.2 多重继承中的析构函数的执行
14.2 细化资产系统的设计
14.3 重定义多重继承中的成员
14.4 多重继承中的二义性
14.4.1 二义性成员函数
14.4.2 二义性数据成员
14.4.3 在设计时解决二义性问题
14.4.4 不可避免的二义性问题
14.5 虚基类
14.6 设计的实现
14.6.1 类DisplayObject
14.6.2 类Vehicle
14.6.3 类Property
14.6.4 类Asset和Expense
14.6.5 类Computer和Pencile
14.6.6 类CompanyCar和LeaseCar
14.6.7 应用程序
14.7 回顾
14.8 小结
第15章 类模板
15.1 类模板的基本知识
15.2 声明模板类的多个对象
15.3 调用类模板的成员函数
15.4 声明多个参数
15.5 有界数组类模板
15.6 何时使用类模板
15.7 链表模板
15.7.1 整数值对象链表
15.7.2 日期对象链表
15.8 定制模板
15.8.1 定制类模板
15.8.2 定制模板成员函数
15.8.3 模板的部分定制
15.9 类模板的默认参数
15.10 小结
第16章 面向对象的程序设计
16.1 基本知识
16.2 过程化程序设计
16.3 面向对象的程序设计
16.3.1 面向对象的程序
16.3.2 对象
16.3.3 抽象
16.3.4 封装
16.3.5 方法和消息
16.3.6 功能性方法
16.3.7 数据类型方法
16.3.8 隐式类型转换方法
16.3.9 成员函数
16.3.10 继承
16.3.11 单个继承
16.3.12 多重继承
16.3.13 类的关系
16.3.14 多态性
16.4 小结
第3部分 C++标准库
第17章 C++标准库简介
17.1 类std::string
17.1.1 构造字符串
17.1.2 给字符串赋值
17.1.3 字符串的连接
17.1.4 字符串的下标
17.1.5 字符串的比较
17.1.6 子串
17.1.7 搜索字符串
17.1.8 字符串操作
17.2 输入/输出流
17.2.1 流类
17.2.2 缓冲输出
17.2.3 格式化输出
17.2.4 文件的输入/输出
17.3 类std::complex
17.4 标准模板类
17.5 标准异常
17.6 小结
第18章 类iostream和stringstream的格式化
18.1 格式化输出
18.2 操纵算子、标志和成员函数
18.2.1 函数ios::width
18.2.2 操纵算子std:setw
18.2.3 函数std::ios::fill
18.2.4 输出对齐
18.2.5 操纵算子sebrecislon
18.2.6 科学记数法和定点记数法
18.2.7 函数std::ios:setf和std::ios::unse1f
18.2.8 格式化标志
18.2.9 格式化操纵算子
18.2.10 格式化函数
18.3 小结
第19章 文件输入/输出流
19.1 文件流类的层次结构
19.2 类std::ofstream
19.3 类ifstream
19.3.1 读取文件直至文件结束
19.3.2 在文件中定位
19.3.3 读取和写入流文件
19.3.4 文件与流的关联与解除关联
19.4 二进制文件与文本文件
19.5 类std::fstream
19.6 小结
第4部分 标准模板库
第20章 标准模板库简介
20.1 为什么需要Sr几
20.2 STL编程模型
20.2.1 序列
20.2.2 容器适配器
20.2.3 结合容器
20.2.4 指示器
20.2.5 算法
20.2.6 函数对象参数
20.2.7 内存分配器
20.3 小结
第21章 序列
21.1 序列容器简介
21.2 向量类模板
21.2.1 插入和访问向量元素
21.2.2 删除向量元素
21.2.3 向量的比较
21.2.4 向量的成员函数
21.3 双端队列类模板
21.3.1 插入和访问双端队列的元素
21.3.2 删除双端队列的元素
21.3.3 比较双端队列
21.3.4 双端队列的成员函数
21.4 链表模板类
21.4.1 插入链表元素
21.4.2 删除链表元素
21.4.3 比较链表
21.4.4 链表成员函数
21.5 容器适配器std::stack
21.6 容器适配器std::queue
21.7 容器适配器std:Priority_queue
21.8 小结
第22章 结合模板
22.1 介绍结合容器
22.2 类模板std:set
22.2.1 插入集合元素
22.2.2 删除集合中的元素
22.2.3 对集合进行搜索
22.2.4 在集合之间进行比较
22.2.5 集合的成员函数
22.3 类模板std:multiset
22.3.1 插入std::multiset元素
22.3.2 删除多重集合的元素
22.3.3 对std::mdtiBt进行搜索
22.3.4 在std::multiset集合之间进行比较
22.3.5 多重集合的成员函数
22.4 类模板std::map
22.4.1 插入map元素
22.4.2 删除映射中的元素
22.4.3 对映射进行搜索
22.4.4 在映射之间进行比较
22.4.5 映射成员函数
22.5 类模板std:multimap
22.5.1 插入multimap元素
22.5.2 删除多重映射的元素
22.5.3 搜索多重映射
22.5.4 对多重映射进行比较
22.5.5 多重映射的成员函数
22.6 类模板std::bitset
22.6.1 在位集合中对位进行操作
22.6.2 在位集合中测试位
22.6.3 比较位集合
22.6.4 位集合的成员函数
22.7 用户定义的谓词
22.8 小结
第23章 通用算法
23.1 介绍通用算法
23.2 非修正序列算法
23.3 修正序列算法
23.4 排序算法
23.5 数值算法
23.6 小结
第24章 指示器
24.1 指示器简介
24.2 输入指示器
24.3 输出指示器
24.4 前向指示器
24.5 双向指示器
24.6 随机访问指示器
24.7 特殊用途指示器
24.7.1 流指示器
24.7.2 指示器适配器
24.8 小结
第25章 异常处理
25.1 C中的异常处理
25.2 C++中的异常处理
25.2.1 try块
25.2.2 catch异常处理器
25.2.3 throw语句
25.2.4 try/throw/catch系列
25.2.5 异常情况指定
25.2.6 不可预见的异常
25.2.7 Catch—川异常处理模块
25.2.8 从一个处理模块中发出异常
25.2.9 没有被捕获的异常
25.3 在发出的异常中进行选择
25.4 异常情况以及没有被释放的资源
25.5 一个改进的计算器程序
25.6 小结
第5部分 C++高级主题
第26章 名字空间
26.1 名字空间的介绍
26.2 有关名字空间的成员
26.3 usingnmnespace语句
26.4 定义名字空间
26.5 嵌套名字空间
26.6 无名名字空间
26.7 名字空间的别名
26.8 小结
第27章 新风格类型转换和运行时类型信息
27.1 新风格类型转换
27.1.1 动态类型转换
27.1.2 静态类型转换
27.1.3 重新解释类型转换
27.1.4 常类型转换
27.2 运行时类型信息
27.3 小结
第28章 区域表示
28.1 国际化元素
28.2 std::1ocale类
28.2.1 标准侧面
28.2.2 默认区域表示与全局区域表示
28.3 生成区域表示对象
28.4 生成混合区域表示
28.5 流与区域表示
28.6 操作侧面
28.7 小结
附录
猜您喜欢