《C++大学基础教程 第5版》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)戴特尔(Deitel,H.M.)等著;张引等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121026627
  • 页数:650 页
图书介绍:本书详细介绍了C++面向对象编程的核心概念和方法。与第四版相比,本书从内容和结构上都做了较大幅度的修订和有意义的提升,语言的表达更为清晰、准确和标准,特别是在“尽早接触类和对象”这一观点的指导下,从第1章就开始涉及类和对象的内容,从而突破了传统教学程序,使学生直接“考虑对象”和更彻底地掌握面向对象的基本概念。通过大量的“活代码”例程,尤其是贯穿多个章节的若干综合性实例研究,对每个新概念都用完整的、能实际运行的C++程序进行介绍,并以403条凝结了60多年编程和教学经验的六类编程提示,使学生将学习重点放在程序开发的关键部分。

第1章 计算机、互联网和万维网简介 1

1.1 简介 2

1.2 什么是计算机 2

1.3 计算机组成 3

1.4 早期的操作系统 4

1.5 个人计算、分布式计算和客户/服务器计算 4

1.6 互联网和万维网 5

1.7 机器语言、汇编语言和高级语言 5

1.8 C和C++的历史 6

1.10 Java的历史 7

1.9 C++标准库 7

1.11 FORTRAN、COBOL、Pascal和Ada 8

1.12 Basic、Visual Basic、Visual C++、C#和.NET 8

1.13 主要的软件趋势:对象技术 9

1.14 典型的C++开发环境 10

1.15 关于C++和本书的几点说明 12

1.16 试运行一个C++应用程序 13

1.17 对象技术和UML的介绍 17

1.18 本章小结 22

1.19 Web资源 23

第2章 C++编程入门 30

2.1 简介 30

2.2 第一个C++程序:打印一行文本 31

2.3 修改第一个C++程序 34

2.4 另一个C++程序:整数相加 35

2.5 内存的概念 38

2.6 算术运算 39

2.7 判断:相等运算符和关系运算符 42

2.8 本章小结 46

第3章 类和对象介绍 55

3.1 简介 55

3.2 类、对象、成员函数和数据成员 56

3.3 本章范例综述 57

3.4 定义具有成员函数的类 57

3.5 定义具有形参的成员函数 60

3.6 数据成员、设置函数和获取函数 63

3.7 用构造函数初始化对象 69

3.8 一个类对应一个独立文件的可重用性 72

3.9 接口与实现的分离 75

3.10 用设置函数确认数据的有效性 80

3.11 本章小结 84

第4章 控制语句(第Ⅰ部分) 90

4.1 简介 91

4.2 算法 91

4.3 伪代码 91

4.4 控制结构 92

4.5 if选择语句 95

4.6 if...else双路选择语句 96

4.7 while循环语句 101

4.8 算法详述:计数器控制的循环 102

4.9 算法详述:标记控制的循环 107

4.10 算法详述:嵌套的控制语句 116

4.11 赋值运算符 120

4.12 自增和自减运算符 121

4.13 本章小结 123

第5章 控制语句(第Ⅱ部分) 138

5.1 简介 138

5.2 计数器控制的循环的要素 139

5.3 for循环语句 140

5.4 使用for语句的例子 144

5.5 do...while循环语句 148

5.6 switch多路选择语句 150

5.7 break和continue语句 157

5.8 逻辑运算符 159

5.9 ==运算符与=运算符的混淆问题 162

5.10 结构化编程总结 163

5.11 本章小结 167

第6章 函数和递归入门 178

6.2 C++的程序组件 179

6.1 简介 179

6.3 数学库函数 181

6.4 多参数函数定义 182

6.5 函数原型和实参类型的强制转换 185

6.6 C++标准库头文件 187

6.7 实例研究:随机数生成 188

6.8 实例研究:博彩游戏和enum简介 193

6.9 存储类别 196

6.10 作用域规则 198

6.11 函数调用堆栈和活动记录 200

6.12 无参函数 203

6.13 内联函数 204

6.14 引用和引用参数 205

6.15 默认实参 209

6.16 一元作用域分辨运算符 211

6.17 函数重载 212

6.18 函数模板 214

6.19 递归 216

6.20 递归应用示例:Fibonacci数列 218

6.21 递归与迭代 221

6.22 本章小结 223

第7章 数组与C++标准库类模板vector 243

7.1 简介 243

7.2 数组 244

7.3 声明数组 245

7.4 使用数组的范例 246

7.5 将数组传递给函数 259

7.6 实例研究:利用数组存放成绩的类GradeBook 262

7.7 采用线性查找法查找数组 268

7.8 采用插值排序法排序数组 269

7.9 多维数组 271

7.10 实例研究:利用二维数组的类GradeBook 273

7.11 C++标准库类模板vector的介绍 279

7.12 本章小结 283

第8章 指针和基于指针的字符串 298

8.2 指针变量的声明和初始化 299

8.1 简介 299

8.3 指针运算符 300

8.4 用指针通过按引用传递方式将参数传递给函数 302

8.5 用const修饰指针 306

8.6 用按引用传递方式实现的选择排序 311

8.7 sizeof运算符 314

8.8 指针表达式和指针算术运算 316

8.9 指针和数组之间的联系 318

8.10 指针数组 322

8.11 实例研究:洗牌和发牌的模拟程序 322

8.12 函数指针 327

8.13 基于指针的字符串处理概述 332

8.14 本章小结 340

第9章 类的深入剖析(第Ⅰ部分) 363

9.1 简介 364

9.2 Time类实例研究 364

9.3 类的作用域和类成员的访问 370

9.4 接口与实现的分离 371

9.5 访问函数和工具函数 372

9.6 Time类实例研究:默认实参的构造函数 374

9.7 析构函数 379

9.8 何时调用构造函数和析构函数 379

9.9 Time类实例研究:一个微妙的陷阱——返回对private数据成员的引用 382

9.10 默认的逐个成员赋值 384

9.12 本章小结 386

9.11 软件重用 386

第10章 类的深入剖析(第Ⅱ部分) 392

10.1 简介 393

10.2 const对象和const成员函数 393

10.3 组成:对象作为类的成员 401

10.4 friend函数和friend类 406

10.5 使用this指针 409

10.6 使用new和delete运算符进行内存的动态管理 414

10.7 static类成员 415

10.8 数据抽象和信息隐藏 420

10.10 代理类 422

10.9 容器类和迭代器 422

10.11 本章小结 425

第11章 运算符重载:字符串和数组对象 431

11.1 简介 432

11.2 运算符重载的基础知识 432

11.3 运算符重载的限制 433

11.4 作为类成员函数和全局函数的运算符函数之比较 434

11.5 重载流插入运算符和流提取运算符 435

11.6 重载一元运算符 438

11.7 重载二元运算符 439

11.8 实例研究:Array类 439

11.9 类型转换 449

11.10 实例研究:String类 450

11.11 重载++和--运算符 460

11.12 实例研究:Date类 461

11.13 标准库中的string类 465

11.14 explicit构造函数 468

11.15 本章小结 471

第12章 面向对象编程:继承 482

12.1 简介 482

12.2 基类和派生类 483

12.3 protected成员 485

12.4 基类和派生类之间的关系 486

12.5 派生类中的构造函数和析构函数 510

12.6 public、protected和private继承 516

12.7 关于继承的软件工程 517

12.8 本章小结 518

第13章 面向对象编程:多态性 523

13.1 简介 524

13.2 多态性实例 525

13.3 类继承层次中对象之间的关系 526

13.4 类型域和switch语句 540

13.5 抽象类和纯virtual函数 541

13.6 实例研究:应用多态性的工资发放系统 542

13.7 (选学)多态性、virtual函数和动态绑定的底层实现机制 556

13.8 实例研究:应用向下强制类型转换、dynamic_ast、typeid和type_info并使用多态性和运行时类型信息的工资发放系统 559

13.9 virtual析构函数 562

13.10 本章小结 563

附录A 运算符的优先级与结合律 568

附录B A SCII字符集 570

附录C 基本数据类型 571

附录D 计数系统 572

附录E 因特网和万维网上的C++资源 583

附录F 使用Visual Studio.NET调试器 587

附录G 使用GNU C++调试器 600

参考文献 615

索引 621