标题：C++程序员教程
图书信息
出版社: 电子工业出版社; 第1版 (2010年1月1日)
外文书名: C++ for Programmers
丛书名: 国外计算机科学教材系列
平装: 724页
正文语种: 简体中文
开本: 16
ISBN: 978-7121-099052
尺寸: 25.6 x 18.2 x 3 cm
重量: 1.1 Kg
作者简介
作者：(美国)Paul J.Deitel (美国)Harvey M.Deitel 译者：张良华 吴明飞 胡强
Paul J.Deitel，Deitel&Associates公司CEO兼CTO，毕业于麻省理工学院Sloan管理学院，主修信息技术。通过Deitel&Associates公司，他向行业客户、政府机关和军队提供C++、Java、C、C#和Visual Basic课程，这些客户包括Cisco、IBM、Sun Microsystems、Dell、Lucent Technologies、Fidelity、NASA、White Sands MissileRange、the National Severe Storm Laboratory、Rogue Wave Software、Boeing、Stratus、Hyperion Software、Adra Systems、Entergy、CableData Systems、Nortel Networks、Puma、iRobot、Invensys，等等。Paul曾为计算机协会波士顿分会讲授Java和C++，还曾为墨西哥Monterrey的ITESM讲授过.NET技术。他和他的父亲Harvey M.Deitel博士，是全球畅销的编程语言教材的作者。
HarveyM.Deitel博士，Deitel&Associates公司的主席和首席战略官，具有47年学术和业界的工作经验。Deitel博士在麻省理工学院获得学士和硕士学位，在波士顿大学获得博士学位。他具有20年的大学教学经验，在与儿子Paul J.Deitel创立Deitel&AssociateS公司之前，他是波士顿大学计算机科学系主任并获得了终身任职权。Deitel父子是几十本图书和多媒体软件包的共同作者，并且他们还在撰写着更多的作品。他们的教材已经赢得了国际声誉，并被翻译成了日文、德文、俄文、西班牙文、繁体中文、简体中文、朝文、法文、波兰文、意大利文、葡萄牙文、希腊文、乌尔都文和土耳其文。Deitel博士为许多大公司、学术机构、政府机关和军队提供了数百场的专业培训。
内容简介
《C++程序员教程》是一本C++编程方面的优秀图书，全面介绍了C++编程的原理和方法，涉及类与对象、控制语句、函数与递归、数组与类模板vector、指针与基于指针的字符串、类、运算符重载、继承、多态、模板、流输入/输出、异常处理、文件处理、字符串流处理、STL Boost类库、TR1、C++Ox等，可以说《C++程序员教程》是学习C++编程语言最好的教程。附录中还分别给出了完整的ATM案例研究的代码以及GNU、Visual Studio调试器的用法。书中240个活代码例子，对学习C++非常有帮助。
《C++程序员教程》适合软件设计人员学习C++编程，也可作为高等院校相关专业的编程语言教材。
媒体评论
优秀的“对象第一”的C++图书。通过例子讲解了大量内容，加上选读的UML案例研究，使得它们能融入后续的软件工
程项目中。
——Gavin Osborne，SasKatchewan Institute of Applied Science and Technology
尽早引入UML的想法非常好。
——Raymond stephenson Microsoft
框图的使用恰到好处，尤其是讲解调用栈和递归函数时的那些框图。
——Amar Raheja，California State Polytechnic University，Pomona
对指针的讲解非常棒，也许是我见过的最好的。
——Anne B．Horton，Lockhecd Martin
对多态以及编译器如何在“内幕”实现多态的讲解不错。
——Ed James-Beckham，Borland
讲解Boost/C++Ox的那一章使读者能熟悉并迅速懂得关于内存管理和正则表达式类库的知识，还能激发读者了解即将被
标准化的c++特性的欲望。
——Ed Brey Kohler Co．
对标准模板类库(STL)的介绍真好。这是关于c++编程最好的书。
——Eichard Albright，Goldey-Beacom College
当读者认为只是在学习一个主题时，会突然发现所学远非这一点。
——Chad Willwerth，University of Washington Tacoma
我所见过的讲解最全面的C++图书。用丰富的真实例子，涵盖了软件开发的整个生命周期。代码例子非此寻常!
——Terrell Hull，Logicalis Integration Soutions
目录
第1章 基本介绍
1.1 简介
1.2 C和C++的历史
1.3 C++标准类库
1.4 重要的软件趋势：对象技术
1.5 典型的C++开发环境
1.6 关于C++和本书的说明
1.7 测试驱动的C++程序
1.8 软件技术
1.9 C++的未来：开源Boost类库，TR1和C++0x
1.10 软件工程案例研究：对象技术和UML介绍
1.11 小结
1.12 Web资源
第2章 C++编程入门
2.1 简介
2.2 第一个C++程序：输出一行文本
2.3 修改第一个C++程序
2.4 另一个C++程序：整数相加
2.5 算术运算
2.6 判断：相等运算符和关系运算符
2.7 （选读）软件工程案例研究：分析ATM需求规范
2.8 小结
第3章 简要介绍类和对象
3.1 简介
3.2 类、对象、成员函数和数据成员
3.3 本章的例子概述
3.4 定义带成员函数的类
3.5 定义带参数的成员函数
3.6 数据成员、set函数和get函数
3.7 用构造函数初始化对象
3.8 将类放入单独的文件中，提高复用性
3.9 分离接口与实现
3.10 用set函数验证数据
3.11 （选读）软件工程案例研究：确定ATM需求规范中的类
3.12 小结
第4章 控制语句（1）
4.1 简介
4.2 控制结构
4.3 if选择语句
4.4 if...else双选择语句
4.5 while循环语句
4.6 计数器控制循环
4.7 标记控制循环
4.8 嵌套控制语句
4.9 赋值运算符
4.10 增量和减量运算符
4.11 （选读）软件工程案例研究：确定ATM系统的类属性
4.12 小结
第5章 控制语句（2）
5.1 简介
5.2 计数器控制循环的实质
5.3 for循环语句
5.4 使用for语句的例子
5.5 do...while循环语句
5.6 switch多选择语句
5.7 break与continue语句
5.8 逻辑运算符
5.9 相等运算符（==）与赋值运算符（=）
5.10 （选读）软件工程案例研究：确定ATM系统中对象的状态和活动
5.11 小结
第6章 函数与递归
6.1 简介
6.2 C++中的程序组件
6.3 数学类库函数
6.4 有多个参数的函数定义
6.5 函数原型与实参强制性
6.6 C++标准类库头文件
6.7 案例研究：随机数生成
6.8 案例研究：机会游戏，引入枚举
6.9 存储类
6.10 作用域规则
6.11 函数调用栈与活动记录
6.12 带空参数表的函数
6.13 内联函数
6.14 引用与引用参数
6.15 默认实参
6.16 一元作用域分解操作符
6.17 函数重载
6.18 函数模板
6.19 递归
6.20 使用递归的例子：Fibonacci序列
6.21 递归与迭代的比较
6.22 （选读）软件工程案例研究：确定ATM系统的类操作
6.23 小结
第7章 数组与类模板vector
7.1 简介
7.2 数组
7.3 声明数组
7.4 数组使用举例
7.5 将数组传入函数
7.6 案例研究：GradeBook类用数组保存成绩
7.7 对数组进行线性搜索
7.8 对数组进行插入排序
7.9 多维数组
7.10 案例研究：GradeBook类使用二维数组
7.11 C++标准类库的类模板vector介绍
7.12 （选读）软件工程案例研究：ATM系统中对象间的协作
7.13 小结
第8章 指针与基于指针的字符串
8.1 简介
8.2 指针变量的声明与初始化
8.3 指针运算符
8.4 利用指针将实参按引用传递给函数
8.5 使用常量指针
8.6 使用按引用传递的选择排序
8.7 sizeof运算符
8.8 指针表达式与指针运算
8.9 指针与数组的关系
8.10 指针数组
8.11 案例研究：洗牌与发牌模拟
8.12 函数指针
8.13 基于指针的字符串处理介绍
8.14 小结
第9章 类：深入探究（1）
9.1 简介
9.2 Time类案例研究
9.3 类的作用域与访问类成员
9.4 分离接口与实现
9.5 访问函数和工具函数
9.6 Time类案例研究：带默认实参的构造函数
9.7 析构函数
9.8 何时调用构造函数和析构函数
9.9 Time类案例研究：微妙的陷阱——返回私有数据成员的引用
9.10 默认的逐成员赋值
9.11 （选读）软件工程案例研究：开始编程ATM系统的类
9.12 小结
第10章 类：深入探究（2）
10.1 简介
10.2 常量对象与常量成员函数
10.3 合成：作为类成员的对象
10.4 友元函数与友元类
10.5 使用this指针
10.6 用new和delete操作符实现动态内存管理
10.7 静态类成员
10.8 数据抽象与信息隐藏
10.9 容器类与迭代器
10.10 代理类
10.11 小结
第11章 运算符重载：字符串与数组对象
11.1 简介
11.2 运算符重载基础
11.3 运算符重载的限制
11.4 作为类成员的运算符函数与全局函数的比较
11.5 重载流插入与流提取运算符
11.6 重载一元运算符
11.7 重载二元运算符
11.8 案例研究：Array类
11.9 类型之间的转换
11.10 案例研究：String类
11.11 重载++和——
11.12 案例研究：Date类
11.13 标准类库的string类
11.14 用explicit声明构造函数
11.15 小结
第12章 面向对象编程：继承
12.1 简介
12.2 基类与派生类
12.3 保护成员
12.4 基类与派生类的关系
12.5 派生类中的构造函数和析构函数
12.6 公有、保护和私有继承
12.7 继承与软件工程
12.8 小结
第13章 面向对象编程：多态 
13.1 简介
13.2 多态举例
13.3 继承层次中对象间的关系
13.4 类型字段与switch语句
13.5 抽象类与纯虚函数
13.6 案例研究：使用多态的工资系统
13.7 （选读）多态、虚函数和动态绑定的“内幕”
13.8 案例研究：利用多态以及使用向下强制转换、dynamiccast、typeid和typeinfo运行时类型信息的工资系统
13.9 虚析构函数
13.10 （选读）软件工程案例研究：在ATM系统中加入继承
13.11 小结
第14章 模板
14.1 简介
14.2 函数模板
14.3 重载函数模板
14.4 类模板
14.5 类模板的非类型参数和默认类型
14.6 模板与继承
14.7 模板与友元
14.8 模板与静态成员
14.9 小结
第15章 流输入/输出
15.1 简介
15.2 流
15.3 流输出
15.4 流输入
15.5 使用read、write和gcount的非格式化I/O
15.6 流操作子简介
15.7 流格式状态与流操作子
15.8 流的错误状态
15.9 将输出流与输入流连接
15.10 小结
第16章 异常处理
16.1 简介
16.2 异常处理概述
16.3 例子：处理除零错误
16.4 何时使用异常处理
16.5 重抛异常
16.6 异常规范
16.7 处理意外的异常
16.8 堆栈解退
16.9 构造函数、析构函数与异常处理
16.10 异常与继承
16.11 处理new失败
16.12 autoptr类与动态内存分配
16.13 标准类库中的异常层次
16.14 其他的错误处理技术
16.15 小结
第17章 文件处理
17.1 简介
17.2 数据层次
17.3 文件和流
17.4 创建顺序文件
17.5 从顺序文件读取数据
17.6 更新顺序文件
17.7 随机访问文件
17.8 创建随机访问文本文件
17.9 向随机访问文件写随机数据
17.10 从随机访问文件顺序读取
17.11 案例研究：交易处理程序
17.12 对象序列化概述
17.13 小结
第18章 string类与字符串流处理
18.1 简介
18.2 字符串的赋值与拼接
18.3 字符串比较
18.4 子串
18.5 字符串交换
18.6 字符串的特性
18.7 搜索字符串中的子串和字符
18.8 替换字符串中的字符
18.9 将字符插入到字符串中
18.10 转换成C风格的char *字符串
18.11 迭代器
18.12 处理字符串流
18.13 小结
第19章 位、字符、C字符串和结构
19.1 简介
19.2 结构定义
19.3 初始化结构
19.4 将结构用于函数
19.5 typedef定义
19.6 例子：高性能的洗牌与发牌模拟
19.7 位运算符
19.8 位段
19.9 字符处理类库
19.10 基于指针的字符串转换函数
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 小结
20.9 STL Web资源
第21章 Boost类库、Technical Report 1和C++0x
21.1 简介
21.2 Deitel在线C++以及相关的资源中心
21.3 Boost类库
21.4 向Boost添加新类库
21.5 安装Boost类库
21.6 Technical Report 1(TR1)中的Boost类库
21.7 正则表达式与Boost.Regex类库
21.8 智能指针与Boost.Smartptr
21.9 Technical Report 1
21.10 C++0x
21.11 核心的语言变化
21.12 小结
第22章 其他主题
22.1 简介
22.2 constcast运算符
22.3 名字空间
22.4 运算符关键字
22.5 mutable类成员
22.6 类成员的指针（.*和->*）
22.7 多重继承
22.8 多重继承与虚拟基类
22.9 小结
附录A 运算符的优先级和结合性
附录B ASCII字符集
附录C 基础类型
附录D 预处理器
附录E ATM案例研究代码
附录F UML 2的其他框图类型
附录G 使用Visual Studio调试器
附录H 使用GNU C++调试器
参考文献
索引