图书介绍

C++入门经典 第3版PDF|Epub|txt|kindle电子书版本网盘下载

C++入门经典 第3版
  • (美)霍顿(Horton,I.)著;杨浩译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302120625
  • 出版时间:2006
  • 标注页数:786页
  • 文件大小:35MB
  • 文件页数:800页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C++入门经典 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1 编程语言1

1.1.1 编程语言简史1

第1章 基本概念1

1.1.2 解释性程序和编译性程序的执行过程2

1.1.3 库3

1.2 C++是一种强大的语言3

1.3 一个简单的C++程序4

1.3.1 名称6

1.3.2 命名空间7

1.4 关键字9

1.5 C++语句和语句块9

1.6 程序结构10

1.7.1 编译12

1.7 从源文件中创建可执行文件12

1.7.2 链接13

1.8 C++源字符14

1.8.1 通用字符集15

1.8.2 三字符序列15

1.8.3 转义序列16

1.8.4 语句中的空白18

1.9 程序的注释19

1.10 标准库20

1.11 用C++编程21

1.12 本章小结22

1.13 练习23

2.2 进行简单的计算24

2.1 数据和数据类型24

第2章 基本数据类型和计算24

2.2.1 字面量25

2.2.2 整型字面量25

2.2.3 整数的算术运算27

2.2.4 运算符的优先级和相关性30

2.3 使用变量32

2.4 整型变量33

2.4.1 整型变量类型35

2.4.2 整数的取值范围37

2.4.3 整型字面量的类型38

2.5 赋值运算符39

2.5.2 修改变量的值40

2.5.1 多次赋值40

2.6 整数的递增和递减42

2.7 const关键字44

2.8 整数的数字函数45

2.9 浮点数49

2.9.1 浮点数的数据类型49

2.9.2 浮点数的操作51

2.9.3 使用浮点数值53

2.9.4 数值函数55

2.10 使用字符57

2.10.1 字符字面量57

2.10.2 初始化char变量58

2.10.3 使用扩展字符集60

2.12 本章小结62

2.11 初始值的函数表示法62

2.13 练习63

第3章 处理基本数据类型64

3.1 混合的表达式64

3.1.1 赋值和不同的类型65

3.1.2 显式强制转换66

3.1.3 老式的强制转换68

3.2 确定类型70

3.3 按位运算符73

3.3.1 移位运算符74

3.3.2 位模式下的逻辑运算76

3.4 枚举数据类型85

3.4.1 匿名枚举86

3.4.2 在整型和枚举类型之间强制转换87

3.5 数据类型的同义词89

3.6 变量的生存期90

3.6.1 自动变量90

3.6.2 定位变量的声明92

3.6.3 全局变量92

3.6.4 静态变量95

3.7 特殊的类型修饰符96

3.8 声明外部变量96

3.9 优先级和相关性96

3.10 本章小结97

3.11 练习98

4.1 比较数据值99

第4章 选择和决策99

4.1.1 应用比较运算符100

4.1.2 比较浮点数值102

4.2 if语句102

4.3 if-else语句110

4.4 逻辑运算符114

4.4.1 逻辑与运算符115

4.4.2 逻辑或运算符115

4.4.3 逻辑非运算符115

4.5 条件运算符118

4.6 switch语句120

4.7 无条件分支124

4.8 决策语句块和变量作用域125

4.10 练习126

4.9 本章小结126

第5章 循环127

5.1 理解循环127

5.2 while循环128

5.3 do-while循环130

5.4 for循环133

5.4.1 循环和变量作用域135

5.4.2 用浮点数值控制for循环137

5.4.3 使用更复杂的循环控制表达式140

5.5 嵌套的循环143

5.6 跳过循环迭代147

5.7 循环的中断150

5.9 练习155

5.8 本章小结155

6.1 数据数组156

6.1.1 使用数组156

第6章 数组和字符串156

6.1.2 初始化数组161

6.1.3 字符数组164

6.2 多维数组168

6.2.1 初始化多维数组170

6.2.2 多维字符数组172

6.3 string类型174

6.3.1 声明string对象175

6.3.2 使用string对象177

6.3.3 访问字符串中的字符179

6.3.5 比较字符串182

6.3.4 访问子字符串182

6.3.6 搜索字符串188

6.3.7 修改字符串196

6.4 string类型的数组201

6.5 宽字符的字符串202

6.6 本章小结202

6.7 练习203

第7章 指针204

7.1 什么是指针204

7.2 指针的声明205

7.3 指针的初始化210

7.4 常量指针和指向常量的指针220

7.5.1 指针的算术运算221

7.5 指针和数组221

7.5.2 使用数组名的指针表示法224

7.5.3 对多维数组使用指针227

7.5.4 C样式字符串的操作229

7.6 动态内存分配231

7.6.1 自由存储区232

7.6.2 运算符new和delete232

7.6.3 数组的动态内存分配233

7.6.4 动态内存分配的危险235

7.6.5 转换指针241

7.7 本章小结241

7.8 练习242

8.1 程序的分解243

第8章 使用函数编程243

8.2 理解函数245

8.2.1 定义函数245

8.2.2 函数的声明249

8.3 给函数传送参数251

8.3.1 按值传送机制251

8.3.2 按引用传送机制260

8.3.3 main()的参数264

8.4 默认的参数值265

8.5 从函数中返回值268

8.5.1 返回一个指针268

8.5.2 返回一个引用272

8.7 静态变量273

8.6 内联函数273

8.5.3 从函数中返回新变量273

8.8 本章小结276

8.9 练习276

第9章 函数278

9.1 函数的重载278

9.1.1 函数的签名278

9.1.2 重载和指针参数281

9.1.3 重载和引用参数281

9.1.4 重载和const参数283

9.1.5 重载和默认参数值284

9.2 函数模板285

9.2.1 创建函数模板的实例286

9.2.2 显式指定模板参数288

9.2.3 模板的说明289

9.2.4 函数模板和重载291

9.2.5 带有多个参数的模板292

9.3 函数指针293

9.3.1 声明函数指针294

9.3.2 把函数作为参数传送297

9.3.3 函数指针的数组299

9.4 递归299

9.5 本章小结307

9.6 练习307

第10章 程序文件和预处理器指令309

10.1 使用程序文件309

10.1.1 名称的作用域310

10.1.2 “一个定义”规则312

10.1.3 程序文件和链接313

10.1.4 外部名称314

10.2 命名空间318

10.2.1 全局命名空间319

10.2.2 定义命名空间319

10.2.3 使用using声明322

10.2.4 函数和命名空间322

10.2.5 函数模板和命名空间326

10.2.6 扩展命名空间327

10.2.7 未指定名称的命名空间330

10.2.9 嵌套的命名空间331

10.2.8 命名空间的别名331

10.3 预处理器332

10.3.1 在程序中包含头文件333

10.3.2 程序中的置换334

10.3.3 宏置换336

10.3.4 放在多行代码中的预处理器指令338

10.3.5 把字符串作为宏参数339

10.3.6 在宏表达式中连接参数340

10.4 逻辑预处理器指令340

10.4.1 逻辑#if指令341

10.4.2 测试特定值的指令343

10.4.3 多个代码选择块343

10.4.4 标准的预处理器宏344

10.4.5 #error和#pragma指令345

10.5.1 集成调试器346

10.5 调试方法346

10.5.2 调试中的预处理器指令347

10.5.3 使用assert宏353

10.6 本章小结354

10.7 练习355

第11章 创建自己的数据类型356

11.1 对象的概念356

11.2 C++中的结构357

11.2.1 理解结构357

11.2.2 定义结构类型358

11.2.3 创建结构类型的对象360

11.2.4 访问结构对象的成员360

11.2.5 对结构使用指针366

11.3 联合370

11.3.1 声明联合371

11.3.2 匿名联合372

11.4 更复杂的结构373

11.5 本章小结379

11.6 练习380

第12章 类381

12.1 类和面向对象编程381

12.1.1 封装382

12.1.2 继承383

12.1.3 多态性384

12.1.4 术语385

12.2 定义类385

12.3 构造函数388

12.3.1 把构造函数的定义放在类的外部390

12.3.2 默认的构造函数392

12.3.3 默认的初始化值395

12.3.4 在构造函数中使用初始化列表396

12.3.5 使用explicit关键字397

12.4 类的私有成员398

12.4.1 访问私有类成员402

12.4.2 默认的副本构造函数404

12.5 友元405

12.5.1 类的友元函数405

12.5.2 友元类408

12.6 this指针409

12.7 const对象和const成员函数413

12.7.1 类中的mutable数据成员415

12.7.2 常量的强制转换416

12.8 类的对象数组416

12.9 类对象的大小419

12.10 类的静态成员421

12.10.1 类的静态数据成员421

12.10.2 类的静态成员函数426

12.11 本章小结427

12.12 练习428

第13章 类的操作429

13.1 类对象的指针和引用429

13.2 指针作为数据成员430

13.2.1 定义Package类431

13.2.2 定义TruckLoad类434

13.2.3 实现TruckLoad类435

13.3 控制对类的访问443

13.4 副本构造函数的重要性445

13.5 对象内部的动态内存分配453

13.5.1 析构函数453

13.5.2 定义析构函数453

13.5.3 默认的析构函数454

13.5.4 实现析构函数456

13.6 类的引用457

13.7 本章小结459

13.8 练习460

14.1.1 运算符重载461

14.1 为自己的类实现运算符461

第14章 运算符重载461

14.1.2 可以重载的运算符462

14.1.3 实现重载运算符462

14.1.4 全局运算符函数466

14.1.5 提供对运算符的全部支持466

14.1.6 运算符函数术语470

14.1.7 重载赋值运算符470

14.1.8 重载算术运算符477

14.1.9 重载下标运算符482

14.1.10 重载类型转换489

14.1.11 重载递增和递减运算符490

14.1.12 智能指针491

14.2 本章小结497

14.1.13 重载运算符new和delete497

14.3 练习498

第15章 继承499

15.1 类和面向对象编程499

15.2 类的继承500

15.2.1 继承和聚合501

15.2.2 从基类中派生新类502

15.3 继承下的访问控制505

15.4 把类的成员声明为protected508

15.5 派生类成员的访问级别510

15.5.1 在类层次结构中使用访问指定符511

15.5.2 改变继承成员的访问指定符512

15.6 派生类中的构造函数操作514

15.7 继承中的析构函数520

15.8 重复的成员名522

15.9 多重继承524

15.9.1 多个基类524

15.9.2 继承成员的模糊性526

15.9.3 重复的继承531

15.9.4 虚基类532

15.10 在相关的类类型之间转换533

15.11 本章小结534

15.12 练习534

第16章 虚函数和多态性536

16.1 理解多态性536

16.1.1 使用基类指针536

16.1.2 调用继承的函数538

16.1.3 虚函数542

16.1.4 虚函数中的默认参数值549

16.1.5 通过引用来调用虚函数553

16.1.6 调用虚函数的基类版本554

16.1.7 在指针和类对象之间转换555

16.1.8 动态强制转换557

16.2 多态性的成本559

16.3 纯虚函数560

16.3.1 抽象类560

16.3.2 间接的抽象基类563

16.4 通过指针释放对象566

16.5 在运行期间标识类型569

16.6.1 数据成员指针570

16.6 类成员的指针570

16.6.2 成员函数指针574

16.7 本章小结578

16.8 练习578

第17章 程序错误和异常处理580

17.1 处理错误580

17.2 理解异常581

17.2.1 抛出异常581

17.2.2 导致抛出异常的代码586

17.2.3 嵌套的try块588

17.3 用类对象作为异常591

17.3.1 匹配Catch处理程序和异常592

17.3.2 用基类处理程序捕获派生类异常596

17.3.3 重新抛出异常598

17.3.4 捕获所有的异常601

17.4 抛出异常的函数603

17.4.1 函数try块603

17.4.2 在构造函数中抛出异常605

17.4.3 异常和析构函数606

17.5 标准库异常606

17.5.1 标准库异常类607

17.5.2 使用标准异常608

17.6 本章小结609

17.7 练习610

第18章 类模板611

18.1 理解类模板611

18.2 定义类模板612

18.2.2 简单的类模板613

18.2.1 模板参数613

18.2.3 创建类模板的实例617

18.2.4 类模板的静态成员625

18.2.5 非类型的类模板参数625

18.2.6 非类型参数示例626

18.2.7 默认的模板参数值636

18.3 模板的显式实例化636

18.4 类模板的友元637

18.5 特殊情形638

18.6 带有嵌套类的类模板640

18.7 更高级的类模板648

18.8 本章小结649

18.9 练习649

19.1.1 理解流651

第19章 输入输出操作651

19.1 C++中的输入输出651

19.1.2 使用流的优点652

19.2 流类653

19.2.1 标准流654

19.2.2 流的插入和提取操作655

19.2.3 流操纵程序657

19.3 文件流659

19.3.1 写入文件659

19.3.2 读取文件662

19.3.3 设置文件打开模式664

19.4 未格式化的流操作672

19.4.1 未格式化的流输入函数673

19.4.2 未格式化的流输出函数674

19.5 流输入输出中的错误675

19.6 使用二进制模式流操作677

19.7 对流的读写操作685

19.8 字符串流692

19.9 对象和流693

19.9.1 重载类对象的插入运算符693

19.9.2 重载类对象的提取运算符696

19.9.3 流中更复杂的对象698

19.10 本章小结710

19.11 练习710

20.1 STL架构简介711

20.1.1 STL组件711

第20章 标准模板库711

20.1.2 STL头文件716

20.2 使用vector容器717

20.2.1 创建vector容器717

20.2.2 访问vector容器中的元素720

20.2.3 vector容器的基本操作722

20.2.4 使用vector容器进行数组操作726

20.2.5 使用输入流迭代器730

20.3 创建自己的迭代器734

20.3.1 给算法传送迭代器736

20.3.2 STL迭代器类型的要求738

20.3.3 STL迭代器成员函数的要求740

20.3.4 插入迭代器744

20.4 list容器745

20.4.1 创建list容器746

20.4.2 访问list容器中的元素747

20.4.3 list容器上的操作747

20.5 关联map容器753

20.6 性能和规范761

20.7 本章小结763

20.8 练习763

附录A ASCII码764

附录B C++关键字768

附录C 标准库头文件769

附录D 运算符的优先级和相关性774

附录E 理解二进制和十六进制数777

附录F 项目示例783

热门推荐