出版社:机械工业出版社
年代:2007
定价:50.0
本书介绍了C++中的继承、多态、异常处理以及标准模板库(STL),同时还包含了模式和UML的介绍。
译者序
前言
第1章 C++基础
1.1 C++简介
1.1.1 C++语言的起源
1.1 2 C++与面向对象的程序设计
1.1.3 C++的特点
1.1.4 C++术语
1.1.5 C++程序示例
1.2 变量、表达式及赋值语句
1.2.1 标识符
1.2.2 变量
1.2.3 赋值语句
1.2.4 更多赋值语句
1.2.5 赋值兼容性
1.2.6 字面常量
1.2.7 转义序列
1.2.8 命名常量
1.2.9 算术操作符和表达式
1.2.10 整数和浮点数除法
1.2.11 类型转换
1.2.12 自增和自减操作符
1.3 控制台输入/输出
1.3.1 使用cout输出
1.3.2 输出时换行
1.3.3 格式化带小数点的数字
1.3.4 用cerr输出
1.3.5 网cin输入
1.4 程序的风格
1.5 库与命名空间
1.5.1 库与include命令
1.5.2 命名空间
第2章 流程控制
2.1 布尔表达式
2.1.1 创建布尔表达式
2.1.2 布尔表达式求值
2.1.3 优先级原则
2.2 分支机制
2.2.1 if-else语
2.2.2 复合语句
2.2.3 省略else
2.2.4 嵌套语句
2.2.5 多分支if-else语句
2 2.6 switch语句
2.2.7 枚举类型
2.2.8 条件橾作符
2.3 循环
2.3.1 while和do-While语句
2.3.2 再谈增量、减量操作符
2.3.3 逗号操作符
2.3.4 for语句
2.3.5 break与continue语句
2.3.6 嵌套循环
第3章 函数基础
3.1 预定义函救
3.1.1 返回值的预定义函数
3.1.2 预定义的void函数
3.1.3 随机数生成器
3.2 程序员定义的函数
3.2.1 定义返回值的函数
3.2.2 函数声明的替代形式
3.2.1 调用函数的函数
3.2.4 返回布尔值的函数
3.2.5 定义void函数
3.2.6 void函数中的return语句
3.2.7 前提条件和执行结果
3.2.8 main函数
3.2.9 递归函数
3.3 作用域规贝
3.3.1 局部变量
3.3.2 过程抽象
3.3.3 全局常量与全局变量
3.3 4 语句块
3.3 5 嵌套作用域
3.3.6 for循环中声明的变量
第4章 参数与重载
4.1 参数
4.1.1 传值调用参数
4.1.2 引用调用参数初步
4.1.3 引用调用机制详解
4.1.4 常量引用参数
4.1.5 混合参数列表
4.2 重载与默认实参
4 2.1 重载简介
4.2.2 分辨重载的准则
4.2.3 默认实参
4.3 测试及调试函数
4.3.1 assert宏
4 3.2 占位程序和驱动程序
第5章 数组
5.1 数组简介
5.1.1 数组的声明和引用
5.1.2 内存中的数组
5.1.3 数组的初始化
5.2 函数中的数细
5.2.1 作为函数实参的索引变量
5.2.2 整个数组作为函数实参
5.2.3 const参数修饰词
5.2.4 返回一个数组的函数
5.3 用数组编程
5.4 多维数组
5 4.1 多维数组基础
5.4.2 多维数组参数
第6章 结构和类
6.1 结构
6.1.1 结构类型
6.1.2 结构作为函数参数
6.1.3 结构的初始化
6.2 类
6.2.1 定义类和成员函数
6.2.2 封装
6.2.3 公有和私有成员
6.2.4 取值和赋值函数
6.2.5 结构和类
第7章 构造函数及其他工具
7.1 构造函数
7.1.1 构造函数的定义
7.1.2 构造函数的显式调用
7.1.3 类类型成员变量
7.2 其他工具
7.2.1 const参数修饰词
7.2.2 内联函数
7.2.3 静态成员
7.2.4 嵌套类和局部类定义
7.3 向量——标准模板库预览
7.3.1 向量基础
7.3.2 效率问题
第8章 操作符重载、友元和引用
8.1 基本操作符重载
8.1.1 重载基础
8.1.2 返回常量类型
8.1.3 重载一元操作符
8.1.4 作为成员函数的操作符重载
8.1.5 重载函数调用符()
8.2 友元函数和自动类型转换
8.2.1 构造函数的自动类型转换
8.2.2 友元函数
8.2.3 友元类
8.3 引用和其他操作符重载
8.3.1 引用
8.3.2 重载“〈〈”和“〉〉”
8.3.3 赋值操作符
8.3.4 重载自增和自减操作符
8.3.5 重载数组操作符[]
8.3.6 基于左值和右值的重载
第9章 字符串
9.1 数组类型的字符串
9.1.1 C字符串值和C字符串变量
9.1.2 库中的其他函数
9.1.3 C字符串的输入和输出
9.2 字符操作工具
9.2.1 字符输入/输出
9.2.2 成员函数get和put
9.2.3 成员函数putback、peek和ignore
9 2.4 字符操作函数
9.3 标准string类
9.3.1 标准类string简介
9.3.2 string类的输入/输出
9.3.3 使用string类进行字符串处理
9.3.4 string类对象和C字符串的相互转换
第1O章 指针和动态数组
10.1 指针
10.1.1 指针变量
10 1.2 内存管理基础
10.1.3 动态变量和自动变量
10.1.4 指针的应用
10.2 动态数组
10.2.1 数组变量和指针变量
10.2.2 创建和使用动态数组
10.2.3 指针运算
10.2.4 多维动态数组
10.3 类、指针和动态数组
10.3.1 -〉操作符
10.3.2 this指针
10.3.3 重载赋值操作符
10.3.4 析构函数
10.3.5 复制构造函数
第11章 分散编译和命名空间
11.1 分散编译
11.1.1 封装回顾
11.1.2 头文件和实现文件
11.1.3 使用#ifndef
11.2 命名空间
11.2.1 命名空间和using命令
11.2.2 创建一个命名空间
11.2.3 using声明
11.2.4 限定名字
11.2.5 未命名的命名空间
11.2.6 嵌套命名空间
第12章 流和文件I/O操作
12.1 I/O流
12.1.1 文件I/O
12.1.2 向文件中添加内容
12.1.3 字符I/O
12.1.4 文件末尾检查
12.2 流I/O的工具
12.2.1 文件名作为输入
12.2.2 使用流函数对输出格式化
12.2.3 操作算子
12.2.4 保存设定的标记
12.2.5 其他的输出流成员函数
12.3 流的层次:继承的简要介绍
12.4 随机文件存取
第13章 递归
13.1 递归void函数
13.1.1 一个递归调用的跟踪
13.1.2 递归的进一步认识
13.1.3 递归调用的栈
13.1.4 递归与迭代的比较
13.2 有返回值的递归函数
13.3 按递归方式思考问题
13.3.1 递归设计技术
13.3 二分查找
13.3.3 编码
13.3.4 检查递归的正确性
13.3.5 效率
第14章 继承
14.1 继承基础
14.1.1 派生类
14.1.2 派生类的构造函数
14.1.3 protected限定词
14.1.4 成员函数的重定义
14.1.5 重定义与重载
14 1.6 访问重定义函数的基类版本
14.1.7 不可继承的函数
14.2 使用继承进行编程
14.2.1 派生类中的赋值操作符和复制构造函数
14.2.2 派生类的析构函数
14.2.3 保护继承和私有继承
14.2.4 多继承
第15章 多态与虚函数
15.1 虚函数基础
15.1.1 后绑定
15.1.2 C++中的虚函数
15.1.3 抽象类和纯虚函数
15.2 指针和虚函数
15.2.1 虚函数和扩展类型兼容性
15.2.2 向下转换和向上转换
15.2.3 C++如何实现虛函数
第16章 模板
16.1 函数模板
16.2 类模板
16.2.1 类模板的语法
16.2.2 C++中的模板类vector和basic_string
16.3 模板和继承
第17章 链式数据结构
17.1 节点和链表
17.1.1 节点
17.1.2 链表
17.1.3 向链表头插入一个节点
17.1.4 向链表中插入或移除节点
17.1.5 搜索链表
17.2 链表的应用
17.3 迭代器
17.3.1 指针作为迭代器
17.3.2 迭代器类
17.4 树
第18章 异常处理
18.1 异常处理基础
18.1.1 异常处理的一个样例
18.1.2 自定义异常类
18.1.3 多重抛出和捕获
18.1.4 在函数中抛出异常
18.1.5 异常说明
18.2 异常处理的编程技术
18.2.1 抛出异常的时机
18.2.2 异常类的层次结构
18.2.3 测试可用内存
18.2.4 再次拋出异常
第19章 标准模板库
19.1 迭代器
19.1.1 迭代器基础
19.1.2 迭代器的种类
19.1.3 常量迭代器和可变迭代器
19.1.4 反向迭代器
19.1.5 其他几种迭代器
19.2 容器
19.2.1 连续容器
19.2.2 容器适配器栈和队列
19.2.3 关联容器集合和映射
19.2.4 效率
19.3 泛型算法
19.3.1 运行时间和大O记法
19.3.2 容器访问运行时间
19.3.3 不改变序列的算法
19.3.4 改变序列的算法
19.3.5 集合算法
19.3.6 排序算法
第20章 模式和UML
20.1 模式
20.1.1 适配器模式
20.1.2 模型-视图-控制器模式
20.1.3 排序模式的效率
20.1.4 模式形式体系
20.2 UML
20.2.1 UML的历史
20.2.2 UML的类图表
20.2.3 类的相互作用
附录1 C++关键字
附录2 操作符优先级
附录3 ASCII字符集
附录4 一些库函数
附录5 旧的和新的头文件
参考资料
是讲解C++语言程序设计的优秀教程。围绕C++语言的结构来组织,开始章节介绍编程的普通概念,接下来详细介绍C++中的继承、多态、异常处理以及标准模板库(STL),同时还包含模式和UML的介绍。《Absolute C++中文版:完美的C++教程(原书第2版)》内容系统、全面,给出了大量代码示例、自测练习、编程提示和编程练习,并且提供了练习的解答。《Absolute C++中文版:完美的C++教程(原书第2版)》有利于初学者尽快掌握C++的编程知识,养成良好的编程习惯;具备相当编程经验的人,也可以从《Absolute C++中文版:完美的C++教程(原书第2版)》了解到使用C++的更有效的方法。
本书是一本全面、易用的C++编程语言教程。作者用清晰、简洁的风格讲解概念和技术,帮助读者掌握控制结构、函数、数组、指针和串、类和数据抽象、运算符重载、文件处理以及数据结构等关键内容。每章中间的自测练习、章末的编程练习、丰富的实例、大量的代码等,都为读者提供了掌握C++编程概念所必需的实战演练。
本书主要特点:
● 全面介绍标准模板库(STL)。STL是理解C++语言的要素,体现了C++丰富的功能性和多样性。
● 涵盖高级C++主题,包括虚函数、模板和异常。
● 讲述继承、多态和封装。
● 讨论统一建模语言(UML)和设计模式。
(美) 萨维驰 (Savitch,W.) , 著
(美) 李普曼 (Lippman,S.B.) , (美) 拉茹瓦 (Lajoie,J.) , (美) 穆 (Moo,B.E.) , 著
(美) 斯蒂芬斯 (Stephens,R.) , 著
( ) 威尔逊 (Wilson,M.) , 著
(美) 利普曼 (Lippman,S.B.) , 著
(美) 罗曼尼克 (Romanik,P.) , (美) 曼特兹 (Muntz,A.) , 编著
(美) 李普曼 (Lippman,S.B.) , 编著
(美) 威尔逊 (Wilson,M.) , 著
(美) 范德沃德 (Vandevoorde,D.) , (德) 约祖蒂斯 (Josuttis,N.M.) , 著