当前位置:首页 > 工业技术
Absolute C++中文版
Absolute C++中文版

Absolute C++中文版PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(美)Walter Savitch著;江山等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:7111209451
  • 页数:616 页
图书介绍:本书介绍了C++中的继承、多态、异常处理以及标准模板库(STL),同时还包含了模式和UML的介绍。
《Absolute C++中文版》目录
标签:中文版

第1章 C++基础 1

1.1 C++简介 1

1.1.1 C++语言的起源 1

1.1.2 C++与面向对象的程序设计 1

1.1.3 C++的特点 2

1.1.4 C++术语 2

1.1.5 C++程序示例 2

1.2 变量、表达式及赋值语句 4

1.2.1 标识符 4

1.2.2 变量 5

1.2.3 赋值语句 6

1.2.4 更多赋值语句 8

1.2.5 赋值兼容性 9

1.2.6 字面常量 10

1.2.7 转义序列 11

1.2.8 命名常量 12

1.2.9 算术操作符和表达式 13

1.2.10 整数和浮点数除法 14

1.2.11 类型转换 15

1.2.12 自增和自减操作符 16

1.3 控制台输入/输出 19

1.3.1 使用cout输出 19

1.3.2 输出时换行 20

1.3.3 格式化带小数点的数字 21

1.3.4 用cerr输出 22

1.3.5 用cin输入 22

1.4 程序的风格 23

1.5 库与命名空间 24

1.5.1 库与include命令 24

1.5.2 命名空间 25

第2章 流程控制 30

2.1 布尔表达式 30

2.1.1 创建布尔表达式 30

2.1.2 布尔表达式求值 31

2.1.3 优先级原则 33

2.2 分支机制 37

2.2.1 if-else语句 37

2.2.2 复合语句 38

2.2.3 省略else 40

2.2.4 嵌套语句 40

2.2.5 多分支if-else语句 41

2.2.6 switch语句 42

2.2.7 枚举类型 44

2.2.8 条件操作符 44

2.3 循环 45

2.3.1 while和do-while语句 45

2.3.2 再谈增量、减量操作符 47

2.3.3 逗号操作符 49

2.3.4 for语句 50

2.3.5 break与continue语句 55

2.3.6 嵌套循环 57

第3章 函数基础 63

3.1 预定义函数 63

3.1.1 返回值的预定义函数 63

3.1.2 预定义的void函数 66

3.1.3 随机数生成器 68

3.2 程序员定义的函数 71

3.2.1 定义返回值的函数 71

3.2.2 函数声明的替代形式 73

3.2.3 调用函数的函数 73

3.2.4 返回布尔值的函数 75

3.2.5 定义void函数 76

3.2.6 void函数中的return语句 77

3.2.7 前提条件和执行结果 78

3.2.8 main函数 79

3.2.9 递归函数 79

3.3 作用域规则 80

3.3.1 局部变量 80

3.3.2 过程抽象 82

3.3.3 全局常量与全局变量 83

3.3.4 语句块 84

3.3.5 嵌套作用域 85

3.3.6 for循环中声明的变量 85

第4章 参数与重载 92

4.1 参数 92

4.1.1 传值调用参数 92

4.1.2 引用调用参数初步 94

4.1.3 引用调用机制详解 95

4.1.4 常量引用参数 97

4.1.5 混合参数列表 99

4.2 重载与默认实参 104

4.2.1 重载简介 104

4.2.2 分辨重载的准则 107

4.2.3 默认实参 109

4.3 测试及调试函数 111

4.3.1 assert宏 111

4.3.2 占位程序和驱动程序 112

第5章 数组 119

5.1 数组简介 119

5.1.1 数组的声明和引用 119

5.1.2 内存中的数组 122

5.1.3 数组的初始化 124

5.2 函数中的数组 125

5.2.1 作为函数实参的索引变量 125

5.2.2 整个数组作为函数实参 126

5.2.3 const参数修饰词 129

5.2.4 返回一个数组的函数 130

5.3 用数组编程 134

5.4 多维数组 141

5.4.1 多维数组基础 141

5.4.2 多维数组参数 142

第6章 结构和类 155

6.1 结构 155

6.1.1 结构类型 156

6.1.2 结构作为函数参数 159

6.1.3 结构的初始化 162

6.2 类 163

6.2.1 定义类和成员函数 163

6.2.2 封装 168

6.2.3 公有和私有成员 168

6.2.4 取值和赋值函数 171

6.2.5 结构和类 174

第7章 构造函数及其他工具 179

7.1 构造函数 179

7.1.1 构造函数的定义 179

7.1.2 构造函数的显式调用 183

7.1.3 类类型成员变量 190

7.2 其他工具 193

7.2.1 const参数修饰词 193

7.2.2 内联函数 198

7.2.3 静态成员 199

7.2.4 嵌套类和局部类定义 201

7.3 向量——标准模板库预览 202

7.3.1 向量基础 202

7.3.2 效率问题 205

第8章 操作符重载、友元和引用 210

8.1 基本操作符重载 210

8.1.1 重载基础 210

8.1.2 返回常量类型 215

8.1.3 重载一元操作符 218

8.1.4 作为成员函数的操作符重载 218

8.1.5 重载函数调用符() 220

8.2 友元函数和自动类型转换 221

8.2.1 构造函数的自动类型转换 221

8.2.2 友元函数 222

8.2.3 友元类 225

8.3 引用和其他操作符重载 226

8.3.1 引用 226

8.3.2 重载“<<”和“>>” 228

8.3.3 赋值操作符 234

8.3.4 重载自增和自减操作符 235

8.3.5 重载数组操作符[] 237

8.3.6 基于左值和右值的重载 238

第9章 字符串 243

9.1 数组类型的字符串 243

9.1.1 C字符串值和C字符串变量 243

9.1.2 <cstring>库中的其他函数 247

9.1.3 C字符串的输入和输出 250

9.2 字符操作工具 252

9.2.1 字符输入/输出 252

9.2.2 成员函数get和put 252

9.2.3 成员函数putback、peek和ignore 257

9.2.4 字符操作函数 258

9.3 标准string类 261

9.3.1 标准类string简介 261

9.3.2 string类的输入/输出 263

9.3.3 使用string类进行字符串处理 267

9.3.4 string类对象和C字符串的相互转换 273

第10章 指针和动态数组 280

10.1 指针 280

10.1.1 指针变量 280

10.1.2 内存管理基础 287

10.1.3 动态变量和自动变量 289

10.1.4 指针的应用 292

10.2 动态数组 292

10.2.1 数组变量和指针变量 292

10.2.2 创建和使用动态数组 294

10.2.3 指针运算 298

10.2.4 多维动态数组 299

10.3 类、指针和动态数组 300

10.3.1 ->操作符 301

10.3.2 this指针 301

10.3.3 重载赋值操作符 302

10.3.4 析构函数 309

10.3.5 复制构造函数 310

第11章 分散编译和命名空间 318

11.1 分散编译 318

11.1.1 封装回顾 318

11.1.2 头文件和实现文件 319

11.1.3 使用#ifndef 326

11.2 命名空间 329

11.2.1 命名空间和using命令 329

11.2.2 创建一个命名空间 330

11.2.3 using声明 333

11.2.4 限定名字 334

11.2.5 未命名的命名空间 337

11.2.6 嵌套命名空间 342

第12章 流和文件I/O操作 349

12.1 I/O流 349

12.1.1 文件I/O 350

12.1.2 向文件中添加内容 353

12.1.3 字符I/O 357

12.1.4 文件末尾检查 357

12.2 流I/O的工具 361

12.2.1 文件名作为输入 361

12.2.2 使用流函数对输出格式化 361

12.2.3 操作算子 364

12.2.4 保存设定的标记 365

12.2.5 其他的输出流成员函数 365

12.3 流的层次:继承的简要介绍 370

12.4 随机文件存取 375

第13章 递归 384

13.1 递归void函数 384

13.1.1 一个递归调用的跟踪 386

13.1.2 递归的进一步认识 388

13.1.3 递归调用的栈 391

13.1.4 递归与迭代的比较 392

13.2 有返回值的递归函数 393

13.3 按递归方式思考问题 397

13.3.1 递归设计技术 397

13.3.2 二分查找 398

13.3.3 编码 400

13.3.4 检查递归的正确性 402

13.3.5 效率 402

第14章 继承 410

14.1 继承基础 410

14.1.1 派生类 410

14.1.2 派生类的构造函数 417

14.1.3 protected限定词 420

14.1.4 成员函数的重定义 422

14.1.5 重定义与重载 423

14.1.6 访问重定义函数的基类版本 424

14.1.7 不可继承的函数 425

14.2 使用继承进行编程 426

14.2.1 派生类中的赋值操作符和复制构造函数 426

14.2.2 派生类的析构函数 426

14.2.3 保护继承和私有继承 436

14.2.4 多继承 437

第15章 多态与虚函数 442

15.1 虚函数基础 442

15.1.1 后绑定 442

15.1.2 C++中的虚函数 443

15.1.3 抽象类和纯虚函数 448

15.2 指针和虚函数 451

15.2.1 虚函数和扩展类型兼容性 451

15.2.2 向下转换和向上转换 456

15.2.3 C++如何实现虚函数 457

第16章 模板 461

16.1 函数模板 461

16.2 类模板 471

16.2.1 类模板的语法 471

16.2.2 C++中的模板类vector和basic_string 478

16.3 模板和继承 478

第17章 链式数据结构 487

17.1 节点和链表 487

17.1.1 节点 487

17.1.2 链表 491

17.1.3 向链表头插入一个节点 492

17.1.4 链表中插入或移除节点 495

17.1.5 搜索链表 498

17.2 链表的应用 504

17.3 迭代器 514

17.3.1 指针作为迭代器 514

17.3.2 迭代器类 515

17.4 树 520

第18章 异常处理 535

18.1 异常处理基础 535

18.1.1 异常处理的一个样例 535

18.1.2 自定义异常类 542

18.1.3 多重抛出和捕获 543

18.1.4 在函数中抛出异常 546

18.1.5 异常说明 547

18.2 异常处理的编程技术 549

18.2.1 抛出异常的时机 549

18.2.2 异常类的层次结构 552

18.2.3 测试可用内存 552

18.2.4 再次抛出异常 552

第19章 标准模板库 555

19.1 迭代器 555

19.1.1 迭代器基础 556

19.1.2 迭代器的种类 559

19.1.3 常量迭代器和可变迭代器 562

19.1.4 反向迭代器 563

19.1.5 其他几种迭代器 565

19.2 容器 566

19.2.1 连续容器 566

19.2.2 容器适配器栈和队列 570

19.2.3 关联容器集合和映射 572

19.2.4 效率 575

19.3 泛型算法 576

19.3.1 运行时间和大O记法 576

19.3.2 容器访问运行时间 580

19.3.3 不改变序列的算法 580

19.3.4 改变序列的算法 583

19.3.5 集合算法 584

19.3.6 排序算法 585

第20章 模式和UML 592

20.1 模式 592

20.1.1 适配器模式 592

20.1.2 模型-视图-控制器模式 593

20.1.3 排序模式的效率 598

20.1.4 模式形式体系 599

20.2 UML 600

20.2.1 UML的历史 600

20.2.2 UML的类图表 600

20.2.3 类的相互作用 601

附录1 C++关键字 605

附录2 操作符优先级 606

附录3 ASCII字符集 608

附录4 一些库函数 609

附录5 旧的和新的头文件 614

参考资料 615

返回顶部