• C++ Primer Plus(第6版)中文版
  • C++ Primer Plus(第6版)中文版
  • C++ Primer Plus(第6版)中文版
  • C++ Primer Plus(第6版)中文版
21年品牌 40万+商家 超1.5亿件商品

C++ Primer Plus(第6版)中文版

全新正版 极速发货

47.09 4.0折 118 全新

库存2034件

广东广州
认证卖家担保交易快速发货售后保障

作者(美)史蒂芬·普拉达

出版社人民邮电出版社

ISBN9787115521644

出版时间2020-07

装帧平装

开本16开

定价118元

货号1202087951

上书时间2024-09-04

徐小智的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
Stephen Prata曾在加利福尼亚的马林学院(肯特菲尔德)教授天文学、物理学和程序设计课程,现已退休。他在加州理工学院获得学士学位,在加州大学伯克利分校获得博士学位。他很早接触程序设计,是为了利用计算机给星团建模。Stephen撰写和与他人合著了十几本书籍,其中包括C++ Primer Plus和C Primer Plus。

目录
章预备知识1

1.1C++简介1

1.2C++简史2

1.2.1C语言2

1.2.2C语言编程原理2

1.2.3面向对象编程3

1.2.4C++和泛型编程3

1.2.5C++的起源4

1.3可移植性和标准5

1.3.1C++的发展5

1.3.2本书遵循的C++标准6

1.4程序创建的技巧6

1.4.1创建源代码文件6

1.4.2编译和链接7

1.5总结10

第2章开始学习C++11

2.1进入C++11

2.1.1main()函数12

2.1.2C++注释14

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

2.1.4头文件名15

2.1.5名称空间15

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

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

2.2C++语句18

2.2.1声明语句和变量19

2.2.2赋值语句20

2.2.3cout的新花样20

2.3其他C++语句21

2.3.1使用cin21

2.3.2使用cout进行拼接21

2.3.3类简介22

2.4函数23

2.4.1使用有返回值的函数23

2.4.2函数变体25

2.4.3用户定义的函数26

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

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

2.5总结30

2.6复习题30

2.7编程练习30

第3章处理数据32

3.1简单变量32

3.1.1变量名33

3.1.2整型34

3.1.3整型short、int、long和longlong34

3.1.4无符号类型37

3.1.5选择整型类型38

3.1.6整型字面值39

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

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

3.1.9bool类型46

3.2const限定符46

3.3浮点数47

3.3.1书写浮点数47

3.3.2浮点类型48

3.3.3浮点常量49

3.3.4浮点数的优缺点49

3.4C++算术运算符50

3.4.1运算符优先级和结合性51

3.4.2除法分支51

3.4.3求模运算符52

3.4.4类型转换53

3.4.5C++11中的auto声明56

3.5总结57

3.6复习题57

3.7编程练习58

第4章复合类型59

4.1数组59

4.1.1程序说明61

4.1.2数组的初始化规则61

4.1.3C++11数组初始化方法62

4.2字符串62

4.2.1拼接字符串常量63

4.2.2在数组中使用字符串63

4.2.3字符串输入64

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

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

4.3string类简介68

4.3.1C++11字符串初始化69

4.3.2赋值、拼接和附加69

4.3.3string类的其他操作70

4.3.4string类I/O71

4.3.5其他形式的字符串字面值72

4.4结构简介73

4.4.1在程序中使用结构74

4.4.2C++11结构初始化75

4.4.3结构可以将string类作为成员吗75

4.4.4其他结构属性76

4.4.5结构数组77

4.4.6结构中的位字段78

4.5共用体78

4.6枚举79

4.6.1设置枚举量的值80

4.6.2枚举的取值范围80

4.7指针和自由存储空间80

4.7.1声明和初始化指针82

4.7.2指针的危险84

4.7.3指针和数字84

4.7.4使用new来分配内存84

4.7.5使用delete释放内存86

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

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

4.8.1程序说明89

4.8.2指针小结90

4.8.3指针和字符串92

4.8.4使用new创建动态结构94

4.8.5自动存储、静态存储和动态存储96

4.9类型组合97

4.10数组的替代品99

4.10.1模板类vector99

4.10.2模板类array(C++11)99

4.10.3比较数组、vector对象和array对象99

4.11总结101

4.12复习题101

4.13编程练习102

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

5.1for循环104

5.1.1for循环的组成部分105

5.1.2回到for循环109

5.1.3修改步长110

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

5.1.5递增运算符(++)和递减运算符()111

5.1.6副作用和顺序点112

5.1.7前缀格式和后缀格式112

5.1.8递增/递减运算符和指针112

5.1.9组合赋值运算符113

5.1.10复合语句(语句块)113

5.1.11其他语法技巧——逗号运算符115

5.1.12关系表达式116

5.1.13赋值、比较和可能犯的错误117

5.1.14C-风格字符串的比较118

5.1.15比较string类字符串120

5.2while循环120

5.2.1for与while121

5.2.2等待一段时间:编写延时循环123

5.3dowhile循环124

5.4基于范围的for循环(C++11)125

5.5循环和文本输入125

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

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

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

5.5.4文件尾条件128

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

5.6嵌套循环和二维数组131

5.6.1初始化二维数组132

5.6.2使用二维数组133

5.7总结134

5.8复习题134

5.9编程练习135

第6章分支语句和逻辑运算符137

6.1if语句137

6.1.1ifelse语句138

6.1.2格式化ifelse语句139

6.1.3ifelseifelse结构140

6.2逻辑表达式141

6.2.1逻辑OR运算符:||141

6.2.2逻辑AND运算符:&&142

6.2.3用&&来设置取值范围144

6.2.4逻辑NOT运算符:!145

6.2.5逻辑运算符细节146

6.2.6其他表示方式146

6.3字符函数库cctype147

6.4:运算符148

6.5switch语句149

6.5.1将枚举量用作标签151

6.5.2switch和ifelse152

6.6break和continue语句153

6.7读取数字的循环154

6.8简单文件输入/输出157

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

6.8.2写入到文本文件中158

6.8.3读取文本文件160

6.9总结163

6.10复习题163

6.11编程练习165

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

7.1复习函数的基本知识167

7.1.1定义函数168

7.1.2函数原型和函数调用169

7.2函数参数和按值传递171

7.2.1多个参数172

7.2.2另一个接受两个参数的函数174

7.3函数和数组175

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

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

7.3.3更多数组函数示例178

7.3.4使用数组区间的函数181

7.3.5指针和const182

7.4函数和二维数组185

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

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

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

7.6函数和结构188

7.6.1传递和返回结构188

7.6.2另一个处理结构的函数示例189

7.6.3传递结构的地址192

7.7函数和string对象194

7.8函数与array对象195

7.9递归196

7.9.1包含一个递归调用的递归196

7.9.2包含多个递归调用的递归197

7.10函数指针198

7.10.1函数指针的基础知识199

7.10.2函数指针示例200

7.10.3深入探讨函数指针201

7.10.4使用typedef进行简化204

7.11总结204

7.12复习题205

7.13编程练习206

第8章函数探幽208

8.1C++内联函数208

8.2引用变量210

8.2.1创建引用变量210

8.2.2将引用用作函数参数212

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

8.2.4将引用用于结构216

8.2.5将引用用于类对象220

8.2.6对象、继承和引用222

8.2.7何时使用引用参数224

8.3默认参数225

8.4函数重载227

8.4.1重载示例228

8.4.2何时使用函数重载230

8.5函数模板230

8.5.1重载的模板232

8.5.2模板的局限性233

8.5.3显式具体化234

8.5.4实例化和具体化236

8.5.5编译器选择使用哪个函数版本237

8.5.6模板函数的发展241

8.6总结243

8.7复习题243

8.8编程练习244

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

9.1单独编译246

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

9.2.1作用域和链接250

9.2.2自动存储持续性250

9.2.3静态持续变量253

9.2.4静态持续性、外部链接性254

9.2.5静态持续性、内部链接性257

9.2.6静态存储持续性、无链接性258

9.2.7说明符和限定符260

9.2.8函数和链接性261

9.2.9语言链接性262

9.2.10存储方案和动态分配262

9.3名称空间266

9.3.1传统的C++名称空间266

9.3.2新的名称空间特性267

9.3.3名称空间示例271

9.3.4名称空间及其前途274

9.4总结274

9.5复习题275

9.6编程练习276

0章对象和类278

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

10.2抽象和类279

10.2.1类型是什么279

10.2.2C++中的类280

10.2.3实现类成员函数283

10.2.4使用类285

10.2.5修改实现286

10.2.6小结287

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

10.3.1声明和定义构造函数288

10.3.2使用构造函数289

10.3.3默认构造函数290

10.3.4析构函数290

10.3.5改进Stock类291

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

10.4this指针296

10.5对象数组300

10.6类作用域302

10.6.1作用域为类的常量302

10.6.2作用域内枚举(C++11)303

10.7抽象数据类型304

10.8总结307

10.9复习题307

10.10编程练习308

1章使用类310

11.1运算符重载310

11.2计算时间:一个运算符重载示例311

11.2.1添加加法运算符313

11.2.2重载限制315

11.2.3其他重载运算符316

11.3友元318

11.3.1创建友元319

11.3.2常用的友元:重载<<运算符320

11.4重载运算符:作为成员函数还是非成员函数324

11.5再谈重载:一个矢量类324

11.5.1使用状态成员329

11.5.2为Vector类重载算术运算符331

11.5.3对实现的说明332

11.5.4使用Vector类来模拟随机漫步332

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

11.6.1转换函数338

11.6.2转换函数和友元函数341

11.7总结343

11.8复习题344

11.9编程练习344

2章类和动态内存分配346

12.1动态内存和类346

12.1.1复习示例和静态类成员346

12.1.2特殊成员函数352

12.1.3回到Stringbad:复制构造函数的哪里出了问题354

12.1.4Stringbad的其他问题:赋值运算符356

12.2改进后的新String类357

12.2.1修订后的默认构造函数357

12.2.2比较成员函数358

12.2.3使用中括号表示法访问字符359

12.2.4静态类成员函数360

12.2.5进一步重载赋值运算符360

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

12.3.1应该和不应该365

12.3.2包含类成员的类的逐成员复制365

12.4有关返回对象的说明366

12.4.1返回指向const对象的引用366

12.4.2返回指向非const对象的引用366

12.4.3返回对象367

12.4.4返回const对象367

12.5使用指向对象的指针368

12.5.1再谈new和delete369

12.5.2指针和对象小结370

12.5.3再谈定位new运算符371

12.6复习各种技术374

12.6.1重载<<运算符374

12.6.2转换函数375

12.6.3其构造函数使用new的类375

12.7队列模拟375

12.7.1队列类376

12.7.2Customer类382

12.7.3ATM模拟384

12.8总结387

12.9复习题388

12.10编程练习389

3章类继承392

13.1一个简单的基类393

13.1.1派生一个类394

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

13.1.3使用派生类397

13.1.4派生类和基类之间的特殊关系398

13.2继承:is-a关系400

13.3多态公有继承400

13.4静态联编和动态联编409

13.4.1指针和引用类型的兼容性409

13.4.2虚成员函数和动态联编411

13.4.3有关虚函数注意事项412

13.5访问控制:protected414

13.6抽象基类415

13.6.1应用ABC概念416

13.6.2ABC理念421

13.7继承和动态内存分配421

13.7.1种情况:派生类不使用new421

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

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

13.8类设计回顾427

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

13.8.2其他的类方法428

13.8.3公有继承的考虑因素429

13.8.4类函数小结432

13.9总结433

13.10复习题433

13.11编程练习434

4章C++中的代码重用436

14.1包含对象成员的类436

14.1.1valarray类简介437

14.1.2Student类的设计437

14.1.3Student类示例438

14.2私有继承443

14.2.1Student类示例(新版本)443

14.2.2使用包含还是私有继承447

14.2.3保护继承448

14.2.4使用using重新定义访问权限448

14.3多重继承449

14.3.1有多少Worker452

14.3.2哪个方法455

14.3.3MI小结461

14.4类模板462

14.4.1定义类模板462

14.4.2使用模板类464

14.4.3深入探讨模板类465

14.4.4数组模板示例和非类型参数469

14.4.5模板多功能性470

14.4.6模板的具体化473

14.4.7成员模板474

14.4.8将模板用作参数476

14.4.9模板类和友元477

14.4.10模板别名(C++11)482

14.5总结482

14.6复习题483

14.7编程练习484

5章友元、异常和其他488

15.1友元488

15.1.1友元类488

15.1.2友元成员函数492

15.1.3其他友元关系494

15.1.4共同的友元495

15.2嵌套类495

15.2.1嵌套类和访问权限496

15.2.2模板中的嵌套497

15.3异常499

15.3.1调用abort()500

15.3.2返回错误码500

15.3.3异常机制501

15.3.4将对象用作异常类型504

15.3.5异常规范和C++11506

15.3.6栈解退506

15.3.7其他异常特性510

15.3.8exception类511

15.3.9异常、类和继承514

15.3.10异常何时会迷失方向517

15.3.11有关异常的注意事项519

15.4RTTI520

15.4.1RTTI的用途520

15.4.2RTTI的工作原理521

15.5类型转换运算符526

15.6总结528

15.7复习题528

15.8编程练习529

6章string类和标准模板库530

16.1string类530

16.1.1构造字符串530

16.1.2string类输入533

16.1.3使用字符串535

16.1.4string还提供了哪些功能538

16.1.5字符串种类539

16.2智能指针模板类539

16.2.1使用智能指针540

16.2.2有关智能指针的注意事项542

16.2.3unique_ptr为何优于auto_ptr543

16.2.4选择智能指针545

16.3标准模板库545

16.3.1模板类vector546

16.3.2可对矢量执行的操作547

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

16.3.4基于范围的for循环(C++11)553

16.4泛型编程553

16.4.1为何使用迭代器553

16.4.2迭代器类型556

16.4.3迭代器层次结构557

16.4.4概念、改进和模型558

16.4.5容器种类562

16.4.6关联容

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP