《C++编程金典》PDF下载

  • 购买积分:26 如何计算积分?
  • 作  者:(美) H.M.Deitel,(美)P.J.Deitel著;周靖,黄都培译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302057850
  • 页数:1001 页
图书介绍:

第1章 计算机和C++编程概述 1

1.1 简介 1

1.2 计算机是什么 3

1.3 计算机的构成 3

1.4 操作系统的进化 4

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

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

1.7 C和C++发展简史 7

1.9 Java和《Java程序设计》 8

1.8 C++标准库 8

1.10 其他高级语言 9

1.11 结构化编程 9

1.12 关键的软件趋势:对象技术 10

1.13 典型C++环境的基础 12

1.14 硬件发展趋势 14

1.15 因特网发展简史 14

1.16 万维网发展简史 16

1.17 C++和本书的常规注意事项 16

1.18 C++编程简述 17

1.19 一个简单的程序:打印一行文字 17

1.20 另一个简单的程序:两个整数相加 21

1.21 内存的概念 24

1.22 算术运算 25

1.23 判断:相等性和关系操作符 28

1.24 对象思想:对象技术及UML简介 32

1.25 小结 36

第2章 控制结构 52

2.1 简介 52

2.2 算法 52

2.4 控制结构 53

2.3 伪代码 53

2.5 if选择结构 56

2.6 if/else选择结构 57

2.7 while重复结构 61

2.8 算法设计:案例分析1(计数器控制重复) 62

2.9 算法设计:案例分析2(标记控制重复) 65

2.10 算法设计:案例分析3(嵌套控制结构) 71

2.11 赋值操作符 75

2.12 自增和自减操作符 76

2.13 计数器控制重复的本质 79

2.14 for重复结构 80

2.15 for结构用法示例 84

2.16 switch多选结构 88

2.17 do/while重复结构 93

2.18 break和continue语句 95

2.19 逻辑操作符 96

2.20 混淆相等性操作符(==)和赋值操作符(=) 99

2.21 结构化编程小结 100

2.22 [可选案例分折]对象思想:标识问题所牵涉的类 105

2.23 小结 116

3.2 C++中的程序组件 142

3.1 简介 142

第3章 函数 142

3.3 数学库函数 143

3.4 函数 144

3.5 函数定义 145

3.6 函数原型 148

3.7 头文件 150

3.8 生成随机数 151

3.9 示例:博彩游戏和enum简介 156

3.10 存储类 159

3.11 作用域规则 161

3.12 递归 164

3.13 递归应用示例:费波拉奇数列 167

3.14 递归和迭代的对比 170

3.15 使用空参数列表的函数 172

3.16 内联函数 173

3.17 引用和引用参数 174

3.18 默认实参 178

3.19 一元作用域分辨符 179

3.20 函数重载 180

3.21 函数模板 182

3.22 [可选案例分析]对象思想:标识类的属性 184

3.23 小结 189

第4章 数组 215

4.1 简介 215

4.2 数组 215

4.3 声明数组 217

4.4 数组用法示例 217

4.5 将数组传给函数 231

4.6 数组排序 235

4.7 案例分析:利用数组计算均数、中位数和众数 239

4.8 搜索数组:线性搜索和二元搜索 241

4.9 多下标数组 246

4.10 [可选案例分析]对象思想:标识类的行为 252

4.11 小结 258

第5章 指针和字符串 276

5.1 简介 276

5.2 指针变量声明和初始比 276

5.3 指针操作符 277

5.4 按引用调用函数 280

5.5 使用带指针的const限定符 283

5.6 使用引用调用的冒泡排序 289

5.7 指针表达式和指针算法 294

5.3 指针和数组的关系 296

5.9 指针数组 299

5.10 案例分析:洗牌和发牌模拟程序 300

5.11 函数指针 304

5.12 字符和字符串处理概述 309

5.13 [可选案例分析]对象思想:对象间的合作 317

5.14 小结 322

第6章 类和数据抽象(一) 349

6.1 简介 349

6.3 访问结构成员 350

6.2 结构定义 350

6.4 用struct实现用户自定义类型Time 351

6.5 用class实现Time抽象数据类型 353

6.6 类作用域和访问类成员 358

6.7 接口同实现方法的分离 360

6.3 控制对成员的访问 363

6.9 访问函数和工具函数 366

6.10 初始化类对象:构造函数 369

6.11 在构造函数中使用默认参数 369

6.13 何时调用构造函数和析构函数 373

6.12 使用析构函数 373

6.14 使用数据成员和成员函数 376

6.15 微妙的陷阱:返回对Private数据成员的引用 380

6.16 通过默认的按位成员复制赋值 383

6.17 软件重用性 384

6.18 [可选案例分析]对象思想:编写电梯模拟程序所需的类 385

6.19 小结 395

第7章 类和数据抽象(二) 405

7.1 简介 405

7.2 常量对象和常量成员函数 405

7.3 合成:对象作为类成员 412

7.4 友元函数和友元类 418

7.5 使用this指针 421

7.6 用new和delete实现动态内存分配 425

7.7 静态类成员 426

7.8 数据抽象和信息隐藏 431

7.9 容器类和迭代器 434

7.10 代理类 434

7.11 [可选案例分析]:对象思想:为电梯模拟程序中的类编写程序 436

7.12 小结 462

8.2 操作符重载的基础知识 469

8.1 简介 469

第8章 操作符重载 469

8.3 操作符重载的限制条件 470

8.4 类成员操作符函数与友元函数操作符函数的对比 472

8.5 重载流插入与流读取操作符 473

8.6 重载一元操作符 475

8.7 重载二元操作符 476

8.8 案例分析:Array类 477

8.9 类型转换 488

8.10 案例分析:String类 489

8.11 重载++和-- 499

8.12 案例分析:Date类 500

8.13 小结 505

第9章 继承 517

9.1 简介 517

9.2 继承:基类与派生类 518

9.3 protected成员 520

9.4 基类指针向派生类指针的强制类型转换 520

9.5 使用成员函数 525

9.6 在派生类中改写基类成员 526

9.7 public、Protected和Private继承 529

9.9 在派生类中使用构造和析构函数 530

9.8 直接基类和间接基类 530

9.10 派生类向基类的隐式转换 534

9.11 继承在软件工程中的应用 534

9.12 合成与继承 536

9.13 "使用"关系和"知道"关系 536

9.14 案例分析:Point,Circle和Cylinder类 536

9.15 多重继承 544

9.16 [可选案例分析]对象思想:在电梯模拟程序中集成继承 548

9.17 小结 554

10.2 类型域和switch语句 560

10.3 虚拟函数 560

10.1 简介 560

第10章 虚拟函数和多态性 560

10.4 抽象基类和具体类 561

10.5 多态性 562

10.6 案例分析:使用多态性的工资发放系统 564

10.7 新类和动态绑定 574

10.8 虚拟析构函数 574

10.9 案例分析:继承接口和实现 574

10.10 多态性、虚拟函数和动态绑定的本质 582

10.11 小结 585

第11章 C++输入/输出流 589

11.1 简介 589

11.2 流 589

11.3 输出流 592

11.4 输入流 595

11.5 成员函数read,gcount和write的无格式输入/输出 601

11.6 流操纵元 602

11.7 流格式状态 607

11.8 流错误状态 616

11.10 小结 618

11.9 把输出流连接到输入流 618

第12章 模板 630

12.1 简介 630

12.2 函数模板 630

12.3 重载模板函数 633

12.4 类模板 634

12.5 类模板与无类型参数 639

12.6 模板与继承 639

12.7 模板与友元 640

12.9 小结 641

12.8 模板与静态数据成员 641

第13章 异常处理 646

13.1 简介 646

13.2 何时使用异常处理 648

13.3 其他错误处理方法 648

13.4 C++异常处理基础:try.throw和catch 649

13.5 简单的异常处理例子:除数为0 649

13.6 抛出异常 649

13.7 捕捉异常 651

13.8 重抛出异常 655

13.9 异常的规约 656

13.11 堆栈解退 657

13.10 处理意外异常 657

13.12 构造函数、析构函数与异常处理 658

13.13 异常与继承 659

13.14 处理new失败 659

13.15 auto_ptr类与动态内存分配 663

13.16 标准库异常的层次结构 665

13.17 小结 665

第14章 文件处理 674

14.1 简介 674

14.2 数据的层次结构 674

14.3 文件和流 676

14.4 创建顺序访问文件 677

14.5 读取顺序访问文件中的数据 680

14.6 更新顺序访问文件 686

14.7 随机访问文件 686

14.8 建立随机访问文件 687

14.9 向随机访问文件随机写入数据 689

14.10 从随机访问文件中顺序读取数据 691

14.11 案例分析:事务处理程序 693

14.12 对象的输入/输出 699

14.13 小结 699

15.1 简介 707

第15章 数据结构 707

15.3 动态内存分配 708

15.2 自引用类 708

15.4 链表 709

15.5 堆栈 721

15.6 队列 725

15.7 树 728

15.8 小结 735

16.1 简介 757

16.2 结构的定义 757

第16章 位、字符、字符串与结构 757

16.3 结构的初始化 759

16.4 在函数中使用结构 759

16.5 关键字typedef 759

16.6 示例:高性能洗牌与发牌模拟程序 760

16.7 位操作符 762

16.8 位段 770

16.9 字符处理函数库 773

16.10 字符串转换函数 779

16.11 字符串处理函数库的查找函数 783

16.12 字符串处理函数库中的内存处理函数 788

16.13 字符串处理函数库中的其他函数 791

16.14 小结 792

第17章 预处理程序 805

17.1 简介 805

17.2 预处理程序指令*include 805

17.3 预处理程序指令*define:符号常量 806

17.4 预处理程序指令*define:宏指令 806

17.5 条件编译 808

17.6 预处理程序指令*error与*Pragma 808

17.9 预定义符号常量 809

17.8 行号 809

17.7 操作符*与 809

17.10 宏指令(assert) 810

17.11 小结 810

第18章 C遗留代码 815

18.1 简介 815

18.2 UNIX与DOS系统中的重定向输入/输出 815

18.3 变长参数列表 816

18.4 使用命令行参数 818

18.5 编译多个源文件程序的相关说明 819

18.6 用函数exit与atexit终止程序运行 821

18.8 整数和浮点数常量的后缀 822

18.7 类型限定符volatile 822

18.9 信号处理 823

18.10 用calloc与realloc动态内存分配 825

18.11 无条件转向语句:goto 825

18.12 联合体 826

18.13 接合规约 829

18.14 小结 830

第19章 string类和字符串流处理 837

19.1 简介 837

19.2 字符串的赋值与拼接 838

19.3 比较字符串 840

19.4 子串 843

19.5 交换字符串 843

19.6 字符串的特性 844

19.7 查找字符串中的字符 846

19.8 替换字符串中的字符 848

19.9 在字符串中插入字符 850

19.10 转换为C风格的char*字符串 851

19.11 迭代器 853

19.12 字符串流处理 854

19.13 小结 858

20.1 标准模板库STL简介 864

第20章 标准模板库(STL) 864

20.2 序列容器 874

20.3 关联容器 886

20.4 容器适配器 894

20.5 算法 899

20.6 bitset类 930

20.7 函数对象 933

20.8 小结 936

第21章 标准C++语言的增补 947

21.1 简介 947

21.2 布尔数据类型 947

21.3 static_cast操作符 949

21.4 const_cast操作符 951

21.5 reinterpret_cast操作符 952

21.6 名称空间 953

21.7 运行时类型信息(RTTI) 956

21.8 操作符关键字 960

21.9 显式构造函数 962

21.10 mutable类成员 967

21.11 类成员指针(*和->*) 968

21.12 多重继承和虚拟基类 970

21.14 小结 974

21.13 结束语 974

附录A 操作符的优先级和结合性 980

附录B ASCII字符集 982

附录C 数值系统 983

C.1 简介 983

C.2 将二进制数简化为八进制和十六进制数 985

C.3 将八进制和十六进制数转换为二进制数 986

C.4 将二进制、八进制或十六进制转换为十进制 987

C.5 将十进制转换为二进制、八进制或十六进制 987

C.6 负的二进制数:2的补值记号法 989

C.7 小结 990

附录D 因特网和万维网上的C++资源 994

D.1 资源 994

D.2 教程 995

D.3 FAQ 995

D.4 Visual C++ 996

D.5 comp. lang. C++ 996

D.6 编译工具 998

D.7 开发工具 999

D.8 标准模板库 999