C++编程金典(周靖等译美第三版)_阅读密码www.zasp.net_仅提供试看如需要请购买原版书 内容简介
作为全球使用最广泛的C++经典程序设计教材,本书详细介绍了过程式与面向对象程序设计的基本知识与方法,其中包括C++的强大功能、最新特性和新增的ANSI/ISO C++标准库。 本书通过面向一个大型对象(电梯模拟系统)的程序设计,以数百个“活代码”示例程序,重点突出了利用UML进行面向对象的设计。分布在各章的“对象思想”、“案例分析”、“常见编程错误”、“良好编程习惯”、“自测题”和“练习题”等特色部分非常具有实际指导意义,不仅可让接触C++的新手真实体验编程乐趣,还可让有经验的程序员得到启发。 本书的读者对象为计算机软件、系统和网络编程人员,也可作为大学计算机相关专业本科生和研究生的编程教材和参考书。
 读者书评
“在进入大学学习的前2年,我一直在使用该书,觉得其中的概念描述和技巧非常不错。和其他C++相关书籍相比,该书更容易理解。Deitel父子没有让我失望,他们的书物有所值。” ——新西兰读者
“很多人都说该书适用于初级程序员,对此,我有不同的看法。作为大学讲师,我深知程序设计并不简单,跟踪课程进度也不轻松。《C++编程金典》是我见过的最好的指导性书籍。它引导我认识了C++,至今仍是我手边的参考书。书中清楚地解释了C++结构,并介绍了一些软件工程知识。关于C++的各个概念都通过各章结尾的小结、自测题和练习题得以巩固。我欣赏Deitel父子的写作风格,并打算订购他们的其他书籍。” ——美国科罗拉多州读者Peter Hsi
“这是一本非常棒的教材,我特别喜欢其中的‘常见编程错误’、‘软件工程知识’、‘性能提示’和‘良好编程习惯’等特色部分。” ——爱尔兰读者Colin Close
详细目录
前言
第1章 计算机和C++编程概述
1.1 简介;1.2 计算机是什么;1.3 计算机的构成;1.4 操作系统的进化;1.5 个人计算、分布式计算和客户机/服务器计算;1.6 机器语言、汇编语言和高级语言;1.7 C和C++发展简史;1.8 C++标准库;1.9 Java和《Java程序设计》;1.10 其他高级语言;1.11 结构化编程;1.12 关键的软件趋势:对象技术;1.13 典型C++环境的基础;1.14 硬件发展趋势;1.15 因特网发展简史;1.16 万维网发展简史;1.17 C++和本书的常规注意事项;1.18 C++编程简述;1.19 一个简单的程序:打印一行文字;1.20 另一个简单的程序:两个整数相加;1.21 内存的概念;1.22 算术运算;1.23 判断:相等性和关系操作符;1.24 对象思想:对象技术及UML简介;1.25 小结。
第2章 控制结构
2.1 简介;2.2 算法;2.3 伪代码;2.4 控制结构;2.5 if选择结构;2.6 if/else选择结构;2.7 while重复结构;2.8 算法设计:案例分析1(计数器控制重复);2.9 算法设计:案例分析2(标记控制重复);2.10 算法设计:案例分析3(嵌套控制结构);2.11 赋值操作符;2.12 自增和自减操作符;2.13 计数器控制重复的本质;2.14 for重复结构;2.15 for结构用法示例;2.16 switch多选结构;2.17 do/while重复结构;2.18 break和continue语句;2.19 逻辑操作符;2.20 混淆相等性操作符(==)和赋值操作符(=);2.21 结构化编程小结;2.22 [可选案例分折]对象思想:标识问题所牵涉的类;2.23 小结。
第3章 函数
3.1 简介;3.2 C++中的程序组件;3.3 数学库函数;3.4 函数;3.5 函数定义;3.6 函数原型;3.7 头文件;3.8 生成随机数;3.9 示例:博彩游戏和enum简介;3.10 存储类;3.11 作用域规则;3.12 递归;3.13 递归应用示例:费波拉奇数列;3.14 递归和迭代的对比;3.15 使用空参数列表的函数;3.16 内联函数;3.17 引用和引用参数;3.18 默认实参;3.19 一元作用域分辨符;3.20 函数重载;3.21 函数模板;3.22 [可选案例分析]对象思想:标识类的属性;3.23 小结。
第4章 数组
4.1 简介;4.2 数组;4.3 声明数组;4.4 数组用法示例;4.5 将数组传给函数;4.6 数组排序;4.7 案例分析:利用数组计算均数、中位数和众数;4.8 搜索数组:线性搜索和二元搜索;4.9 多下标数组;4.10 [可选案例分析]对象思想:标识类的行为;4.11 小结。
第5章 指针和字符串
5.1 简介;5.2 指针变量声明和初始比;5.3 指针操作符;5.4 按引用调用函数;5.5 使用带指针的const限定符;5.6 使用引用调用的冒泡排序;5.7 指针表达式和指针算法;5.3 指针和数组的关系;5.9 指针数组;5.10 案例分析:洗牌和发牌模拟程序;5.11 函数指针;5.12 字符和字符串处理概述;5.13 [可选案例分析]对象思想:对象间的合作;5.14 小结。
第6章 类和数据抽象(一)
6.1 简介;6.2 结构定义;6.3 访问结构成员;6.4 用struct实现用户自定义类型Time;6.5 用class实现Time抽象数据类型;6,6 类作用域和访问类成员;6.7 接口同实现方法的分离;6.3 控制对成员的访问;6.9 访问函数和工具函数;6.10 初始化类对象:构造函数;6.11 在构造函数中使用默认参数;6.12 使用析构函数;6.13 何时调用构造函数和析构函数;6.14 使用数据成员和成员函数;6.15 微妙的陷阱:返回对Private数据成员的引用;6.16 通过默认的按位成员复制赋值;6.17 软件重用性;6.18 [可选案例分析]对象思想:编写电梯模拟程序所需的类;6.19 小结。
第7章 类和数据抽象(二)
7.1 简介;7.2 常量对象和常量成员函数;7.3 合成:对象作为类成员;7.4 友元函数和友元类;7.5 使用this指针;7.6 用new和delete实现动态内存分配;7.7 静态类成员;7.8 数据抽象和信息隐藏;7.9 容器类和迭代器;7.10 代理类;7.11 [可选案例分析]:对象思想:为电梯模拟程序中的类编写程序;7.12 小结。
第8章 操作符重载
8.1 简介;8.2 操作符重载的基础知识;8.3 操作符重载的限制条件;8.4 类成员操作符函数与友元函数操作符函数的对比;8.5 重载流插入与流读取操作符;8.6 重载一元操作符;8.7 重载二元操作符;8.8 案例分析:Array类;8.9 类型转换;8.10 案例分析:String类;8.11 重载++和--;8.12 案例分析:Date类;8.13 小结。
第9章 继承
9.1 简介;9.2 继承:基类与派生类;9.3 protected成员;9.4 基类指针向派生类指针的强制类型转换;9.5 使用成员函数;9.6 在派生类中改写基类成员;9.7 public、Protected和Private继承;9.8 直接基类和间接基类;9.9 在派生类中使用构造和析构函数;9.10 派生类向基类的隐式转换;9.11 继承在软件工程中的应用;9.12 合成与继承;9.13 "使用"关系和"知道"关系;9.14 案例分析:Point,Circle和Cylinder类;9.15 多重继承;9.16 [可选案例分析]对象思想:在电梯模拟程序中集成继承;9.17 小结。
第10章 虚拟函数和多恋性
10.1 简介;10.2 类型域和switch语句;10.3 虚拟函数;10.4 抽象基类和具体类;10.5 多态性;10.6 案例分析:使用多态性的工资发放系统;10.7 新类和动态绑定;10.8 虚拟析构函数;10.9 案例分析:继承接口和实现;10.10 多态性、虚拟函数和动态绑定的本质;10.11 小结。
第11章 C++输入/输出流
11.1 简介;11.2 流;11.3 输出流;11.4 输入流;11.5 成员函数read,gcount和write的无格式输入/输出;11.6 流操纵元;11.7 流格式状态;11.8 流错误状态;11.9 把输出流连接到输入流;11.10 小结。
第12章 模板
12.1 简介;12.2 函数模饭;12.3 重载模板函数;12.4 类模板;12.5 类模板与无类型参数;12.6 模板与继承;12.7 模板与友元;12.8 模板与静态数据成员;12.9 小结。
第13章 异常处理
13.1 简介;13.2 何时使用异常处理;13.3 其他错误处理方法;13.4 C++异常处理基础:try.throw和catch;13.5 简单的异常处理例子:除数为();13.6 抛出异常;13.7 捕捉异常;13.8 重抛出异常;13.9 异常的规约;13.10 处理意外异常;13.11 堆栈解退;13.12 构造函数、析构函数与异常处理;13.13 异常与继承;13.14 处理new失败;13.15 auto_ptr类与动态内存分配;13.16 标准库异常的层次结构;13.17 小结。
第14章 文件处理
14.1 简介;14.2 数据的层次结构;14.3 文件和流;14.4 创建顺序访问文件;14.5 读取顺序访问文件中的数据;14.6 更新顺序访问文件;14.7 随机访问文件;14.8 建立随机访问文件;14.9 向随机访问文件随机写入数据;14.10 从随机访问文件中顺序读取数据;14.11 案例分析:事务处理程序;14.12 对象的输入/输出;14.13 小结。
第15章 数据结构
15.1 简介;15.2 自引用类;15.3 动态内存分配;15.4 链表;15.5 堆栈;15.6 队列;15.7 树;15.8 小结。
第16章 位、字符、字符串与结构
16.1 简介;16.2 结构的定义;16.3 结构的初始化;16.4 在函数中使用结构;16.5 关键字typedef;16.6 示例:高性能洗牌与发牌模拟程序;16.7 位操作符;16.8 位段;16.9 字符处理函数库;16.10 字符串转换函数;16.11 字符串处理函数库的查找函数;16.12 字符串处理函数库中的内存处理函数;16.13 字符串处理函数库中的其他函数;16.14 小结。
第17章 预处理程序
17.1 简介;17.2 预处理程序指令#include;17.3 预处理程序指令#define:符号常量;17.4 预处理程序指令#define:宏指令;17.5 条件编译;17.6 预处理程序指令#error与#Pragma;17.7 操作符#与##;17.8 行号;17.9 预定义符号常量;17.10 宏指令(assert);17.11 小结。
第18章 C遗留代码
18.1 简介;18.2 UNIX与DOS系统中的重定向输入/输出;18.3 变长参数列表;18.4 使用命令行参数;18.5 编译多个源文件程序的相关说明;18.6 用函数exit与atexit终止程序运行;18.7 类型限定符volatile;18.8 整数和浮点数常量的后缀;18.9 信号处理;18.10 用calloc与realloc动态内存分配;18.11 无条件转向语句:goto;18.12 联合体;18.13 接合规约;18.14 小结。
第19章 string类和字符串流处理
19.1 简介;19.2 字符串的赋值与拼接;19.3 比较字符串;19.4 子串;19.5 交换字符串; 19.6 字符串的特性;19.7 查找字符串中的字符;19.8 替换字符串中的字符;19.9 在字符串中插入字符;19.10 转换为C风格的char*字符串;19.11 迭代器;19.12 字符串流处理;19.13 小结。
第20章 标准模板库(STL)
20.1 标准模板库STL简介;20.2 序列容器;20.3 关联容器;20.4 容器适配器;20.5 算法;20.6 bitset类;20.7 函数对象;20.8 小结。
第21章 标准C++语言的增补
21.1 简介;21.2 布尔数据类型;21.3 static_cast操作符;21.4 const_cast操作符;21.5 reinterpret_cast操作符;21.6 名称空间;21.7 运行时类型信息(RTTI);21.8 操作符关键字;21.9 显式构造函数;21.10 mutable类成员;21.11 类成员指针(.*和->*);21.12 多重继承和虚拟基类;21.13 结束语;21.14 小结。
附录A 操作符的优先级和结台性
附录B ASCII字符集
附录C 数值系统
C.1 简介;C.2 将二进制数简化为八进制和十六进制数;C.3 将八进制和十六进制数转换为二进制数;C.4 将二进制、八进制或十六进制转换为十进制;C.5 将十进制转换为二进制、八进制或十六进制;C.6 负的二进制数:2的补值记号法;C.7 小结。
附录D 因特网和万维网上的C++资源
D.1 资源;D.2 教程;D.3 FAQ;D.4 Visual C++;D.5 comp.lang.C++;D.6 编译工具;D.7 开发工具;D.8 标准模板库。
PDF文件22M
www.zasp.net仅提供试看,如需要请购买原版书。请用下载工具下载,否则下载不了的。 |