书籍详情
C++面向对象程序设计:使用STL编程
作者:Nicholas J.De Lillo著;袁勤勇,莫青等译;袁勤勇译
出版社:清华大学出版社
出版时间:2002-11-01
ISBN:9787302060079
定价:¥46.00
购买这本书可以去
内容简介
本书主要介绍了面向对象设计的基本概念和思想,并通过大量实例深入地讲解了如何使用标准库进行面向对象程序设计。本书首先介绍了面向对象的一些基本概念,接着研究了标准模板库(STL)的主要组件,最后探讨了预定义容器类和泛型算法方面的知识。本书的每章内容中都包含了大量实用的练习,可以使读者很快地投入到面向对象设计的环境中。本书适用于希望学习C++面向对象程序设计的初学者,并可供使用标准库组件进行面向对象程序设计的开发人员参考。本书前言特色及评论文章节选
作者简介
暂缺《C++面向对象程序设计:使用STL编程》作者简介
目录
第1章 类
1.1 简介
1.2 面向对象设计的原则
1.2.1 抽象
1.2.2 封装
1.2.3 模块化
1.3 类和对象
1.4 构造函数和析构函数的示例
1.5 实现细节
1.6 模板
1.6.1 类模板
1.6.2 函数模板
1.6.3 模板的另一种选择:void*类型
1.7 复数的抽象
1.8 改进复数类设计的建议
1.9 异常和异常处理
1.10 类的静态(Static)成员
1.10.1 静态数据成员
1.10.2 静态成员函数
1.11 本章小结
1.12 练习
1.13 程序设计项目
第2章 继承和多态性
2.1 简介
2.2 继承、基类和派生类
2.3 公有继承
2.4 基类的保护成员
2.5 私有和保护继承
2.6 多继承
2.7 多态性和虚函数
2.8 纯虚函数和抽象类
2.9 继承和多态性在软件工程中的含义
2.10 本章小结
2.11 练习
2.12 程序设计项目
第3章 搜索和排序
3.1 简介
3.2 算法的概念
3.3 使用类和对象进行设计
3.4 效率问题的初步讨论
3.5 有限归纳法
3.6 比较算法:大O符号
3.7 数组的搜索算法:线性(顺序)搜索
3.8 线性搜索的分析
3.9 递归程序设计的回顾
3.10 二叉搜索
3.11 二叉搜索分析
3.12 排序算法:选择排序和插入排序
3.13 选择排序和插入排序的分析
3.14 快速排序和递归算法
3.15 快速排序
3.16 合并排序
3.17 合并排序的分析
3.18 本章小结
3.19 练习
3.20 程序设计项目
第4章 散列:标准模板库的前奏
4.1 简介
4.2 散列:数据存储和检索的有效方法
4.3 选择合适的散列函数
4.3.1 方法1:平方取中法
4.3.2 方法2:随机数生成器
4.3.3 方法3:折叠
4.3.4 方法4:求余数法
4.4 解决散列冲突的方法
4.5 使用存储桶和链表来解决散列冲突
4.5.1 存储桶
4.5.2 链接实现:分离链
4.6 用类模板来实现散列
4.7 命名空间
4.7.1 有关命名空间的一般观点
4.7.2 主要观点
4.8 本章小结
4.9 练习
4.10 程序设计项目
第5章 STL中的组件概述
5.1 历史回顾
5.2 STL及其重要性概述
5.3 容器
5.4 迭代器
5.5 迭代器的描述和分类
5.5.1 输入迭代器
5.5.2 输出迭代器
5.5.3 前向迭代器
5.5.4 双向选代器
5.5.5 随机访问迭代器
5.5.6 流迭代器
5.6 算法
5.7 函数对象
5.8 适配器
5.8.1 容器适配器
5.8.2 迭代器适配器
5.8.3 函数适配器
5.9 本章小结
5.10 练习
5.11 程序设计项目
第6章 队列容器
6.1 简介
6.2 vector类模板
6.3 vector的构造函数:显式声明
6.4 向量的其他成员函数
6.4.1 存取函数
6.4.2 修改函数
6.4.3 内存分配函数
6.4.4 比较函数
6.5 类vector的应用
6.6 双端队列简介
6.7 类deque的应用:伪随机数和随机数
6.8 STL列表的介绍
6.9 标准类模板库list:基本成员函数
6.9.1 构造函数、析构函数、迭代器
6.9.2 存取函数
6.9.3 修改的数
6.9.4 更多的选代器
6.9.5 比较操作
6.10 标准模板库list:更多的专用成员函数
6.10.1 合并两个排序列表
6.10.2 拼接两个列表
6.10.3 倒排列表
6.10.4 排序列表
6.10.5 删除连续的复制列表值
6.10.6 删除列表中的值
6.11 类模板list的应用:生成奇正整数和偶正整数的随机排序
6.12 本章小结
6.13 练习
6.14 程序设计项目
第7章 容器适配器
7.1 简介
7.2 栈抽象
7.3 使用栈容器适配器来实现栈
7.4 栈ADT的应用
7.5 队列抽象
7.6 使用STL的队列容器适配器实现队列
7.7 ADT队列的应用
7.8 优先队列抽象
7.9 优先队列ADT的应用
7.10 本章小结
7.11 练习
7.12 程序设计项目
第8章 泛型算法
8.1 简介
8.2 概述标准库中的泛型算法
8.3 非变异队列算法
8.3.1 find算法及其变种:Helper(帮助)函数
8.3.2 count算法及其变种
8.3.3 泛型算法for_each
8.3.4 比较两个区间:<pair>模板
8.3.5 泛型算法search
8.4 变异队列算法
8.4.1 泛型算法copy和copybackward
8.4.2 泛型算法fill和fill_n
8.4.3 generate算法
8.4.4 partition和stable_partition算法
8.4.5 random_shuffle算法
8.4.6 remove算法及其变种
8.4.7 replace算法及其变种
8.4.8 reverse和reverse_copy算法
8.4.9 rotate算法
8.4.10 泛型交换算法
8.4.11 transform算法
8.4.12 unique算法及其变种
8.5 与排序相关的算法
8.5.1 泛型算法sort、stable_sort和partial_sort
8.5.2 泛型算法nib element
8.5.3 泛型二叉搜索算法
8.5.4 合并两个已排序队列的算法
8.5.5 堆的泛型算法
8.6 通用数值算法
8.6.1 accumulate函数
8.6.2 内积函数
8.6.3 partial_sum算法
8.6.4 adjacent_difference算法
8.7 本章小结
8.8 练习
8.9 程序设计项目
第9章 排序关联容器
9.1 简介
9.2 集和多集
9.3 集操作
9.3.1 集包含
9.3.2 并集
9.3.3 交集
9.3.4 差集
9.4 二叉搜索树和红-黑树的实现细节
9.5 映射和多重映射
9.6 应用程序
9.7 本章小结
9.8 练习
9.9 程序设计项目
附录 局域网模拟器
A.1 介绍性的概念
A.2 基本设计成员
A.3 用户接口
A.4 实现细节
A.5 典型执行的描述
术语表
1.1 简介
1.2 面向对象设计的原则
1.2.1 抽象
1.2.2 封装
1.2.3 模块化
1.3 类和对象
1.4 构造函数和析构函数的示例
1.5 实现细节
1.6 模板
1.6.1 类模板
1.6.2 函数模板
1.6.3 模板的另一种选择:void*类型
1.7 复数的抽象
1.8 改进复数类设计的建议
1.9 异常和异常处理
1.10 类的静态(Static)成员
1.10.1 静态数据成员
1.10.2 静态成员函数
1.11 本章小结
1.12 练习
1.13 程序设计项目
第2章 继承和多态性
2.1 简介
2.2 继承、基类和派生类
2.3 公有继承
2.4 基类的保护成员
2.5 私有和保护继承
2.6 多继承
2.7 多态性和虚函数
2.8 纯虚函数和抽象类
2.9 继承和多态性在软件工程中的含义
2.10 本章小结
2.11 练习
2.12 程序设计项目
第3章 搜索和排序
3.1 简介
3.2 算法的概念
3.3 使用类和对象进行设计
3.4 效率问题的初步讨论
3.5 有限归纳法
3.6 比较算法:大O符号
3.7 数组的搜索算法:线性(顺序)搜索
3.8 线性搜索的分析
3.9 递归程序设计的回顾
3.10 二叉搜索
3.11 二叉搜索分析
3.12 排序算法:选择排序和插入排序
3.13 选择排序和插入排序的分析
3.14 快速排序和递归算法
3.15 快速排序
3.16 合并排序
3.17 合并排序的分析
3.18 本章小结
3.19 练习
3.20 程序设计项目
第4章 散列:标准模板库的前奏
4.1 简介
4.2 散列:数据存储和检索的有效方法
4.3 选择合适的散列函数
4.3.1 方法1:平方取中法
4.3.2 方法2:随机数生成器
4.3.3 方法3:折叠
4.3.4 方法4:求余数法
4.4 解决散列冲突的方法
4.5 使用存储桶和链表来解决散列冲突
4.5.1 存储桶
4.5.2 链接实现:分离链
4.6 用类模板来实现散列
4.7 命名空间
4.7.1 有关命名空间的一般观点
4.7.2 主要观点
4.8 本章小结
4.9 练习
4.10 程序设计项目
第5章 STL中的组件概述
5.1 历史回顾
5.2 STL及其重要性概述
5.3 容器
5.4 迭代器
5.5 迭代器的描述和分类
5.5.1 输入迭代器
5.5.2 输出迭代器
5.5.3 前向迭代器
5.5.4 双向选代器
5.5.5 随机访问迭代器
5.5.6 流迭代器
5.6 算法
5.7 函数对象
5.8 适配器
5.8.1 容器适配器
5.8.2 迭代器适配器
5.8.3 函数适配器
5.9 本章小结
5.10 练习
5.11 程序设计项目
第6章 队列容器
6.1 简介
6.2 vector类模板
6.3 vector的构造函数:显式声明
6.4 向量的其他成员函数
6.4.1 存取函数
6.4.2 修改函数
6.4.3 内存分配函数
6.4.4 比较函数
6.5 类vector的应用
6.6 双端队列简介
6.7 类deque的应用:伪随机数和随机数
6.8 STL列表的介绍
6.9 标准类模板库list:基本成员函数
6.9.1 构造函数、析构函数、迭代器
6.9.2 存取函数
6.9.3 修改的数
6.9.4 更多的选代器
6.9.5 比较操作
6.10 标准模板库list:更多的专用成员函数
6.10.1 合并两个排序列表
6.10.2 拼接两个列表
6.10.3 倒排列表
6.10.4 排序列表
6.10.5 删除连续的复制列表值
6.10.6 删除列表中的值
6.11 类模板list的应用:生成奇正整数和偶正整数的随机排序
6.12 本章小结
6.13 练习
6.14 程序设计项目
第7章 容器适配器
7.1 简介
7.2 栈抽象
7.3 使用栈容器适配器来实现栈
7.4 栈ADT的应用
7.5 队列抽象
7.6 使用STL的队列容器适配器实现队列
7.7 ADT队列的应用
7.8 优先队列抽象
7.9 优先队列ADT的应用
7.10 本章小结
7.11 练习
7.12 程序设计项目
第8章 泛型算法
8.1 简介
8.2 概述标准库中的泛型算法
8.3 非变异队列算法
8.3.1 find算法及其变种:Helper(帮助)函数
8.3.2 count算法及其变种
8.3.3 泛型算法for_each
8.3.4 比较两个区间:<pair>模板
8.3.5 泛型算法search
8.4 变异队列算法
8.4.1 泛型算法copy和copybackward
8.4.2 泛型算法fill和fill_n
8.4.3 generate算法
8.4.4 partition和stable_partition算法
8.4.5 random_shuffle算法
8.4.6 remove算法及其变种
8.4.7 replace算法及其变种
8.4.8 reverse和reverse_copy算法
8.4.9 rotate算法
8.4.10 泛型交换算法
8.4.11 transform算法
8.4.12 unique算法及其变种
8.5 与排序相关的算法
8.5.1 泛型算法sort、stable_sort和partial_sort
8.5.2 泛型算法nib element
8.5.3 泛型二叉搜索算法
8.5.4 合并两个已排序队列的算法
8.5.5 堆的泛型算法
8.6 通用数值算法
8.6.1 accumulate函数
8.6.2 内积函数
8.6.3 partial_sum算法
8.6.4 adjacent_difference算法
8.7 本章小结
8.8 练习
8.9 程序设计项目
第9章 排序关联容器
9.1 简介
9.2 集和多集
9.3 集操作
9.3.1 集包含
9.3.2 并集
9.3.3 交集
9.3.4 差集
9.4 二叉搜索树和红-黑树的实现细节
9.5 映射和多重映射
9.6 应用程序
9.7 本章小结
9.8 练习
9.9 程序设计项目
附录 局域网模拟器
A.1 介绍性的概念
A.2 基本设计成员
A.3 用户接口
A.4 实现细节
A.5 典型执行的描述
术语表
猜您喜欢