图书介绍

C++ Primer Plus 第5版 中文版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C++ Primer Plus 第5版 中文版
  • (美)Stephen Prata著;孙建春,韦强译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115134162
  • 出版时间:2005
  • 标注页数:788页
  • 文件大小:59MB
  • 文件页数:805页
  • 主题词:C语言-程序设计

PDF下载


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

下载说明

C++ Primer Plus 第5版 中文版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 预备知识1

1.1 C++简介1

目录1

1.2.2 C语言编程原理2

1.2.1 C语言2

1.2 C++简史2

1.2.3 面向对象编程3

1.2.5 C++的起源4

1.2.4 C++和通用编程4

1.3 可移植性和标准5

1.4 程序创建的技巧6

1.4.1 创建源代码文件7

1.4.2 编译和链接8

1.5 总结11

2.1 进入C++12

第2章 开始学习C++12

2.1.1 main()函数14

2.1.2 C++注释15

2.1.4 头文件名16

2.1.3 C++预处理器和iostream文件16

2.1.5 名称空间17

2.1.6 使用cout进行C++输出18

2.1.7 C++源代码的格式化19

2.2.1 声明语句和变量21

2.2 C++语句21

2.2.2 赋值语句22

2.3 其他C++语句23

2.2.3 cout的新花样23

2.3.2 使用cout进行拼接24

2.3.1 使用cin24

2.3.3 类简介25

2.4.1 使用有返回值的函数26

2.4 函数26

2.4.2 函数变体28

2.4.3 用户定义的函数29

2.4.4 用户定义的有返回值的函数31

2.4.5 在多函数程序中使用using编译指令32

2.5 总结33

2.7 编程练习34

2.6 复习题34

3.1 简单变量36

第3章 处理数据36

3.1.1 变量名37

3.1.3 short、int和long38

3.1.2 整型38

3.1.4 无符号类型41

3.1.5 选择整型类型43

3.1.6 整型常量44

3.1.8 char类型:字符和小整数45

3.1.7 C++如何确定常量的类型45

3.1.9 新的bool类型50

3.3 浮点数51

3.2 const限定符51

3.3.1 书写浮点数52

3.3.2 浮点类型53

3.3.3 浮点常量54

3.4 C++算术操作符55

3.3.4 浮点数的优缺点55

3.4.1 操作符优先级和结合性56

3.4.2 除法分支57

3.4.3 求模操作符58

3.4.4 类型转换59

3.5 总结62

3.7 编程练习63

3.6 复习题63

4.1 数组65

第4章 复合类型65

4.2 字符串68

4.2.2 在数组中使用字符串70

4.2.1 拼接字符串常量70

4.2.3 字符串输入71

4.2.4 每次读取一行字符串输入72

4.2.5 混合输入字符串和数字75

4.3 string类简介76

4.3.1 赋值、拼接和附加77

4.3.2 string类的其他操作78

4.3.3 string类I/O79

4.4 结构简介81

4.4.1 在程序中使用结构82

4.4.3 其他结构属性84

4.4.2 结构可以将string类作为成员吗84

4.4.4 结构数组85

4.5 共用体86

4.4.5 结构中的位字段86

4.6 枚举88

4.7 指针和自由存储空间89

4.6.2 枚举的取值范围89

4.6.1 设置枚举量的值89

4.7.1 声明和初始化指针92

4.7.3 指针和数字93

4.7.2 指针的危险93

4.7.4 使用new来分配内存94

4.7.5 使用delete来释放内存95

4.7.6 使用new来创建动态数组96

4.8 指针、数组和指针算术98

4.8.1 程序说明99

4.8.2 指针和字符串101

4.8.3 使用new创建动态结构104

4.8.4 自动存储、静态存储和动态存储107

4.9 总结108

4.11 编程练习109

4.10 复习题109

5.1 for循环111

第5章 循环和关系表达式111

5.1.1 for循环的组成部分112

5.1.2 回到for循环116

5.1.4 使用for循环访问字符串118

5.1.3 修改步长118

5.1.6 副作用和顺序点119

5.1.5 递增操作符(++)和递减操作符(--)119

5.1.8 递增/递减操作符和指针120

5.1.7 前缀格式和后缀格式120

5.1.9 组合赋值操作符121

5.1.10 复合语句(语句块)122

5.1.11 逗号操作符(或其他句法技巧)123

5.2 关系表达式125

5.2.1 可能犯的错误126

5.2.2 C-风格字符串的比较127

5.2.3 比较string类字符串129

5.3 while循环130

5.3.1 for与while131

5.3.2 等待一段时间:编写延时循环132

5.4 do while循环134

5.5.1 使用原始的cin进行输入136

5.5 循环和文本输入136

5.5.2 使用cin.get(char)进行补救137

5.5.4 文件尾条件138

5.5.3 使用哪一个cin.get()138

5.5.5 另一个cin.get()版本140

5.6 嵌套循环和二维数组142

5.8 复习题145

5.7 总结145

5.9 编程练习146

6.1 if语句148

第6章 分支语句和逻辑操作符148

6.1.1 if else语句149

6.1.2 格式化if else语句151

6.1.3 if else if else结构152

6.2.1 逻辑OR操作符:||153

6.2 逻辑表达式153

6.2.2 逻辑AND操作符:&&154

6.2.3 逻辑NOT操作符:!157

6.2.4 逻辑操作符细节158

6.3 字符函数库cctype159

6.2.5 其他表示方式159

6.4 ?:操作符161

6.5 switch语句162

6.5.1 将枚举量用作标签165

6.6 break和continue语句166

6.5.2 switch和if else166

6.7 读取数字的循环168

6.8.1 文本I/O和文本文件171

6.8 简单文件输入/输出171

6.8.2 写入到文本文件中172

6.8.3 读取文本文件174

6.10 复习题178

6.9 总结178

6.11 编程练习180

7.1 复习函数的基本知识182

第7章 函数——C++的编程模块182

7.1.1 定义函数183

7.1.2 函数原型和函数调用184

7.2 函数参数和按值传递187

7.2.1 多个参数188

7.2.2 另外一个接受两个参数的函数189

7.3 函数和数组191

7.3.2 将数组作为参数意味着什么192

7.3.1 函数如何使用指针来处理数组192

7.3.3 更多数组函数范例194

7.3.4 使用数组区间的函数198

7.3.5 指针和const200

7.4 函数和二维数组202

7.5.1 将C-风格字符串作为参数的函数203

7.5 函数和C-风格字符串203

7.5.2 返回C-风格字符串的函数204

7.6.1 传递和返回结构206

7.6 函数和结构206

7.6.2 另一个处理结构的函数范例207

7.6.3 传递结构的地址211

7.7 函数和string对象212

7.8.1 包含一个递归调用的递归214

7.8 递归214

7.8.2 包含多个递归调用的递归215

7.9.1 函数指针的基础知识216

7 9 函数指针216

7.9.2 函数指针示例218

7.10 总结219

7.12 编程练习220

7.11 复习题220

8.1 C++内联函数223

第8章 函数探幽223

8.2.1 创建引用变量225

8.2 引用变量225

8.2.2 将引用用作函数参数227

8.2.3 引用的属性和特别之处230

8.2.4 将引用用于结构232

8.2.5 将引用用于类对象235

8.2.6 对象、继承和引用238

8.3 默认参数240

8.2.7 何时使用引用参数240

8.4 函数重载242

8.4.1 重载范例243

8.4.2 何时使用函数重载245

8.5 函数模板246

8.5.1 重载的模板248

8.5.2 显式具体化250

8.5.3 实例化和具体化253

8.5.4 编译器选择使用哪个函数版本254

8.6 总结258

8.7 复习题258

8.8 编程练习259

第9章 内存模型和名称空间261

9.1 单独编译261

9.2 存储持续性、作用域和链接性265

9.2.1 作用域和链接265

9.2 2 自动存储持续性266

9.2.3 静态持续变量270

9.2.4 说明符和限定符277

9.2.5 函数和链接性278

9.2.6 语言链接性279

9.2.7 存储方案和动态分配279

9.3 布局new操作符280

9.4 名称空间282

9.4.1 传统的C++名称空间282

9.4.2 新的名称空间特性284

9.4.3 名称空间范例289

9.4.4 名称空间及其前途292

9.5 总结292

9.6 复习题293

9.7 编程练习295

第10章 对象和类297

10.1 过程性编程和面向对象编程297

10.2 抽象和类298

10.2.1 类型是什么298

10.2.2 C++中的类299

10.2.3 实现类成员函数302

10.2.4 使用类306

10.2.5 小结308

10.3 类的构造函数和析构函数309

10.3.1 声明和定义构造函数309

10.3.2 使用构造函数310

10.3.3 默认构造函数311

10.3.4 析构函数311

10.3.5 改进Stock类312

10.3.6 构造函数和析构函数小结317

10.4 this指针318

10.5 对象数组322

10.6 接口和实现小结325

10.7 类作用域326

10.8 抽象数据类型327

10.9 总结331

10.10 复习题332

10.11 编程练习332

第11章 使用类335

11.1 操作符重载335

11.2 计算时间:一个操作符重载范例336

11.2.1 添加加法操作符339

11.2.2 重载限制341

11.2.3 其他重载操作符342

11.3 友元简介345

11.3.1 创建友元346

11.3.2 常用的友元:重载<<操作符347

11.4 重载操作符:作为成员函数还是非成员函数351

11.5 再谈重载:矢量类352

11.5.1 使用状态成员358

11.5.2 为Vector类重载算术操作符359

11.5.3 对实现的说明361

11.5.4 使用Vector类来模拟随机行走361

11.6 类的自动转换和强制类型转换363

11.6.1 程序说明367

11.6.2 转换函数367

11.6.3 转换函数和友元函数371

11.7 总结373

11.8 复习题374

11.9 编程练习375

第12章 类和动态内存分配377

12.1 动态内存和类377

12.1.1 复习范例和静态类成员378

12.1.2 隐式成员函数383

12.1.3 改进后的新String类389

12.1.4 在构造函数中使用new时应注意的事项397

12.1.5 有关返回对象的说明399

12.1.6 使用指向对象的指针401

12.1.7 复习各种技术408

12.2 队列模拟409

12.2.1 队列类410

12.2.2 Customer类417

12.2.3 模拟420

12.3 总结423

12.4 复习题424

12.5 编程练习425

第13章 类继承428

13.1 一个简单的基类429

13.1.1 派生一个类430

13.1.2 构造函数:访问权限的考虑431

13.1.3 使用派生类433

13.2 派生类和基类之间的特殊关系435

13.3 继承——is-a关系436

13.4 多态公有继承438

13.4.1 开发Brass类和BrassPlus类438

13.4.2 静态联编和动态联编447

13.4.3 指针和引用类型兼容性448

13.4.4 虚拟成员函数和动态联编449

13.4.5 有关虚函数注意事项450

13.5 访问控制:protected452

13.6 抽象基类454

13.6.1 应用ABC概念456

13.6.2 ABC理念459

13.7 继承和动态内存分配459

13.7.1 第一种情况:派生类不使用new460

13.7.2 第二种情况:派生类使用new460

13.7.3 使用动态内存分配和友元的继承范例462

13.8 类设计回顾466

13.8.1 编译器生成的成员函数466

13.8.2 其他的类方法467

13.8.3 公有继承的考虑因素469

13.8.4 类函数小结472

13.9 总结472

13.10 复习题473

13.11 编程练习474

第14章 C++中的代码重用477

14.1 包含对象成员的类477

14.1.1 valarray类简介478

14.1.2 Student类的设计478

14.1.3 Student类范例479

14.2 私有继承485

14.3 多重继承492

14.3.1 有多少Worker496

14.3.2 哪个方法499

14.3.3 MI小结507

14.4 类模板508

14.4.1 定义类模板508

14.4.2 使用模板类510

14.4.3 深入探讨模板类512

14.4.4 数组模板范例和非类型参数517

14.4.5 模板多功能性518

14.4.6 模板的具体化521

14.4.7 成员模板523

14.4.8 将模板用作参数525

14.4.9 模板类和友元526

14.5 总结532

14.6 复习题533

14.7 编程练习534

15.1.1 友元类539

15.1 友元539

第15章 友元、异常和其他539

15.1.2 友元成员函数543

15.1.3 其他友好关系546

15.2 嵌套类547

15.2.1 嵌套类和访问权限548

15.2.2 模板中的嵌套549

15.3.1 调用abort()552

15.3 异常552

15.3.2 返回错误码553

15.3.3 异常机制554

15.3.4 将对象用作异常类型557

15.3.5 堆栈解退560

15.3.6 其他异常特性564

15.3.7 exception类566

15.3.8 异常、类和继承569

15.3.9 异常何时会迷失方向573

15.3.10 有关异常的注意事项575

15.4.2 RTTI的工作原理576

15.4.1 RTTI的用途576

15.4 RTTI576

15.5 类型转换操作符583

15.6 总结585

15.7 复习题586

15.8 编程练习587

16.1.1 构造字符串588

16.1 string类588

第16章 string类和标准模板库588

16.1.2 string类输入591

16.1.3 使用字符串593

16.1.4 string还提供了哪些功能597

16.2.1 使用auto ptr599

16.2 auto ptr类599

16.2.2 有关auto ptr的注意事项601

16.3.1 vector模板类602

16.3 STL602

16.3.2 可对矢量执行的操作604

16.3.3 对矢量可执行的其他操作608

16.4.1 为何使用迭代器611

16.4 通用编程技术611

16.4.2 迭代器类型614

16.4.3 迭代器层次结构615

16.4.4 概念、改进和模型616

16.4.5 容器种类620

16.4.6 联合容器627

16.5 函数对象631

16.5.1 函数符概念632

16.5.2 预定义的函数符634

16.5.3 自适应函数符和函数适配器635

16.6.1 算法组637

16.6 算法637

16.6.2 算法的通用特征638

16.6.3 STL和string类639

16.6.4 函数和容器方法640

16.6.5 使用STL641

16.7 其他库644

16.8 总结648

16.9 复习题649

16.10 编程练习650

17.1 C++输入和输出概述651

第17章 输入、输出和文件651

17.1.1 流和缓冲区652

17.1.2 流、缓冲区和iostream文件653

17.1.3 重定向655

17.2.1 重载的<<操作符656

17.2 使用cout进行输出656

17.2.2 其他ostream方法658

17.2.4 用cout进行格式化660

17.2.3 刷新输出缓冲区660

17.3 使用cin进行输入672

17.3.1 cin>>如何检查输入673

17.3.2 流状态675

17.3.3 其他istream类方法678

17.3.4 其他istream方法683

17.4.1 简单的文件I/O686

17.4 文件输入和输出686

17.4.2 流状态检查和is_open()688

17.4.4 命令行处理技术689

17.4.3 打开多个文件689

17.4.5 文件模式691

17.4.6 随机存取698

17.5 内核格式化704

17.6 接下来的任务706

17.8 复习题707

17.7 总结707

17.9 编程练习708

A.3 十六进制数712

A.2 八进制整数712

附录A 计数系统712

A.1 十进制数712

A.4 二进制数713

A.5 二进制和十六进制714

B.2 替代标记715

B.1 C++关键字715

附录B C++保留字715

B.3 C++库保留名称716

附录C ASCII字符集717

附录D 操作符优先级721

E.1.1 移位操作符724

E.1 按位操作符724

附录E 其他操作符724

E.1.2 逻辑按位操作符725

E.1.4 几种常用的按位操作符技术727

E.1.3 按位操作符的另一种表示727

E.2 成员解除引用操作符728

F.1 13种类型和一个常量732

附录F string模板类732

F.2 数据信息、构造函数及其他733

F2.1 默认构造函数734

F.2.4 复制构造函数735

F.2.3 使用部分数组的构造函数735

F.2.2 使用数组的构造函数735

F.2.7 内存杂记736

F.2.6 使用区间的构造函数736

F.2.5 使用一个字符的n个副本的构造函数736

F.4 本赋值737

F.3 字符串存取737

F.5.3 find_first_of()系列738

F.5.2 rfind()系列738

F.5 字符串搜索738

F.5.1 find()系列738

F.5.6 find_last_not_of()系列739

F.5.5 find_first_not_of()系列739

F.5.4 find_last_of()系列739

F.6 比较方法和函数740

F.7.2 其他赋值方法741

F.7.1 用于追加和相加的方法741

F.7 字符串修改方法741

F.7.5 替换方法742

F.7.4 清除方法742

F.7.3 插入方法742

F.8 输出和输入743

F.7.6 其他修改方法:copy()和swap()743

G.1 所有容器都有的成员744

附录G STL方法和函数744

G.2 矢量、链表和双端队列的其他成员746

G.3 set和map的其他成员747

G.4 STL函数748

G.4.1 非修改式序列操作749

G.4.2 修改式序列操作751

G.4.3 排序和相关操作756

G.4.4 数字操作763

H.1 精选读物765

附录H 精选读物和网上资源765

H.2 网上资源766

I.1.1 使用const而不是#define来定义常量767

I.1 使用一些预处理器编译指令的替代品767

附录I 转换为ANSI/ISO标准C++767

I.1.2 使用inline而不是#define来定义小型函数768

I.2 使用函数原型769

I.3 使用类型转换769

I.4 逐渐熟悉C++特性769

I.5 使用新的头文件769

I.6 使用名称空间770

I.7 使用autoptr模板771

I.8 使用string类771

I.9 使用STL771

附录J 复习题答案772

第2章复习题答案772

第3章复习题答案772

第4章复习题答案773

第6章复习题答案774

第5章复习题答案774

第7章复习题答案775

第8章复习题答案777

第9章复习题答案778

第10章复习题答案779

第11章复习题答案780

第12章复习题答案781

第13章复习题答案783

第14章复习题答案784

第15章复习题答案785

第16章复习题答案786

第17章复习题答案786

热门推荐