C++ Primer Plus(第6版)中文版
全新正版 极速发货
¥
45.09
3.8折
¥
118
全新
库存2035件
作者 (美)史蒂芬·普拉达
出版社 人民邮电出版社
ISBN 9787115521644
出版时间 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关联容
— 没有更多了 —
本店暂时无法向该地区发货
以下为对购买帮助不大的评价