您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
C++编程从入门到实践 第2版
字数: 658000
装帧: 平装
出版社: 人民邮电出版社
出版日期: 2021-03-01
商品条码: 9787115539694
版次: 2
开本: 16开
页数: 392
出版年份: 2021
定价:
¥99
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
一本书包含三大模块的内容:基础、范例、综合实战: 1.Visual C++(VC++)和 Visual Studio(VS)双工具实现; 2.全书提供丰富的实例,160多个正文实例,更多的实战演练机会; 3.320多个拓展范例,真正地举一反三; 4.3个综合案例,使读者具备项目实战能力; 5.配套视频讲解,降低学习的难度; 6.技术解惑模块,破解学习难点,绕过学习中的陷阱; 7.提供丰富的学习资料:源程序+视频+PPT; 8.通过QQ群+网站论坛实现技术答疑,形成互帮互学的朋友圈。
内容简介
本书由浅入深地讲解了C++开发技术的核心内容,并通过具体实例演练了各个知识点在实践中的具体使用方法。全书共23章:第1~2章讲解了C++技术的基础知识,包括C++的重要特性和开发环境搭建;第3~7章分别讲解了C++语法、变量、常量、流程控制、运算符和表达式等知识;第8~11章分别讲解了输入、输出、函数、指针和复合类型的基本知识,包含了C++开发技术的重点和难点;第12~20章分别讲解了面向对象、类、继承、派生、多态、内存管理和异常等内容;第21~23章通过3个综合实例,介绍了C++技术在综合项目中的开发流程。全书内容循序渐进,以“范例演练”和“技术解惑”贯穿全书,引领读者全面掌握C++语言。本书不但适合C++的初学者,也适合有一定C++基础的读者,还可以作为大专院校相关专业师生的学习用书和培训学校的教材。
作者简介
王石磊,有名企业服务器事业部开发工程师,10多年C和C++开发经验,熟悉驱动开发、系统开发,参与研发了单位的有名的系统开发,这是中国抢先发售自主研发的云数据中心操作系统,深度融合OpenStack,是开放、融合、安全的云数据中心操作系统,支持最广泛的异构资源管理和跨云整合。
目录
第1章C++语言介绍1
1.1什么是C++2
1.1.1C++的发展历史2
1.1.2C++的优点和缺点2
1.2C++语言的现状3
1.3面向对象4
1.4标准库介绍4
第2章搭建C++开发环境5
2.1使用VisualC++6.06
2.1.1VisualC++6.0的特点6
2.1.2安装VisualC++6.06
2.2使用MicrosoftVisualStudio9
2.2.1VisualStudio2017的新功能9
2.2.2安装MicrosoftVisualStudio201710
2.3编写第一个C++程序12
2.3.1使用VisualC++6.0实现13
2.3.2使用VisualStudio2017实现15
2.4使用手机开发C++程序17
2.4.1GCC和C4droid18
2.4.2在手机中搭建C++开发环境18
2.4.3在iPhone中使用MobileC/C++18
2.5技术解惑19
2.5.1初学者经常不知道自己该学什么19
2.5.2初学者需要知道的正确观念19
2.6课后练习19
第3章C++语言开发基础20
3.1面向对象21
3.1.1两种对象的产生方式21
3.1.2C++面向对象编程的流程21
3.2C++语言的程序结构21
3.2.1初识C++程序结构21
3.2.2看C++程序的文件组织23
3.3C++编码规范24
3.3.1养成良好的风格24
3.3.2必须使用的注释24
3.3.3代码也需要化妆25
3.4输入和输出26
3.4.1标准输入与输出对象27
3.4.2一个使用I/O库的程序27
3.4.3使用using声明命名空间29
3.5算法30
3.5.1算法的概念30
3.5.2流程图表示算法31
3.5.3计算机语言表示算法32
3.6技术解惑33
3.6.1C++是面向对象,C是面向过程,那么这个对象和过程是什么意思33
3.6.2面向对象和面向过程的区别33
3.6.3学好C++的建议34
3.7课后练习34
第4章C++语言的基础语法35
4.1标识符36
4.1.1C++中的保留字36
4.1.2标识符的命名规则36
4.2数据类型38
4.2.1数字运算型38
4.2.2逻辑运算型41
4.2.3字符型和字符串42
4.3标准类型库43
4.3.1C++标准库介绍43
4.3.2标准库中的主要成员44
4.4技术解惑45
4.4.1C++的标识符长度的“min-length&&max-information”原则45
4.4.2字符和字符串的区别45
4.4.3C++中string类字符串和C中char*/char[]型字符串的差别45
4.4.4C++字符串和C字符串的转换45
4.4.5C++字符串和字符串结束标志46
4.5课后练习46
第5章变量和常量47
5.1变量48
5.1.1定义变量48
5.1.2声明变量48
5.2变量的作用域49
5.2.1作用域和生存期49
5.2.2作用域限定符51
5.2.3存储类型51
5.2.4C++变量初始化53
5.3常量54
5.3.1什么是常量54
5.3.2使用常量55
5.4使用C++11标准处理复杂的类型56
5.4.1定义类型别名56
5.4.2使用auto实现类型推导57
5.4.3使用decltype推导类型58
5.4.4使用常量表达式59
5.5技术解惑60
5.5.1C++常量的命名是否需要遵循一定的规范60
5.5.2在C++程序中用const还是用#define定义常量60
5.5.3const是个很重要的关键字,在使用时应该注意哪些60
5.5.4关于全局变量的初始化,C语言和C++是否有区别61
5.5.5C/C++变量在内存中的分布61
5.5.6静态变量的初始化顺序61
5.6课后练习61
第6章运算符和表达式62
6.1运算符和表达式详解63
6.1.1赋值运算符和赋值表达式63
6.1.2算术运算符和算术表达式64
6.1.3比较运算符和比较表达式66
6.1.4逻辑运算符和逻辑表达式67
6.1.5++/运算符和表达式67
6.1.6位运算符和位表达式68
6.1.7求字节数运算符和求字节表达式70
6.1.8条件运算符和条件表达式72
6.1.9逗号运算符和逗号表达式72
6.1.10运算符的优先级和结合性73
6.2类型转换76
6.2.1使用隐式转换76
6.2.2使用显式转换77
6.3技术解惑81
6.3.1避免运算结果溢出的一个方案81
6.3.2运算符重载的权衡81
6.3.3运算符重载是对已有运算符赋予多重含义81
6.4课后练习82
第7章流程控制语句83
7.1语句和语句块84
7.1.1最简单的语句84
7.1.2语句块84
7.2顺序结构86
7.3选择结构86
7.3.1单分支结构语句87
7.3.2双分支结构语句87
7.3.3使用多分支结构语句90
7.4循环结构详解91
7.4.1循环语句的形式92
7.4.2for语句循环92
7.4.3使用while语句94
7.4.4使用do-while语句95
7.5使用跳转语句96
7.5.1使用break语句96
7.5.2使用continue语句97
7.5.3使用goto语句97
7.6C++11新规范:基于范围的for循环语句98
7.7技术解惑99
7.7.1循环中断的问题99
7.7.2分析循环语句的效率100
7.7.3几种循环语句的比较100
7.7.4C++中的for循环该怎么读100
7.7.5一个C++循环结构嵌套的问题100
7.7.6break语句和continue语句的区别101
7.8课后练习101
第8章指针102
8.1指针的基本概念103
8.2定义指针103
8.2.1定义指针的方式103
8.2.2识别指针104
8.2.3指针的分类104
8.3指针的初始化105
8.3.1指针初始化时的类型106
8.3.2指针地址初始化106
8.3.3变量地址初始化106
8.3.4使用new分配内存单元107
8.3.5使用函数malloc分配内存单元107
8.4指针运算108
8.4.1算术运算108
8.4.2关系运算110
8.5指针的指针112
8.6使用指针113
8.6.1指针赋值114
8.6.2使用“*”操作符114
8.7分析指针和引用的关系115
8.8特殊指针117
8.8.1void型指针118
8.8.2空指针119
8.8.3C++11:使用nullptr得到空指针120
8.9C++11:使用标准库函数begin和end120
8.10技术解惑121
8.10.1指针的命名规范121
8.10.2指针和引用的区别122
8.10.3变量的实质123
8.10.4避免和解决野指针123
8.10.5常量指针常量和常量引用常量125
8.10.6指针常量和引用常量的对比125
8.10.7常量指针和常量引用的对比125
8.11课后练习126
第9章数组、枚举、结构体和联合127
9.1使用数组128
9.1.1定义数组128
9.1.2高级数组129
9.1.3分析数组的完整性130
9.2动态数组131
9.2.1在堆上分配空间的动态数组131
9.2.2在栈上分配空间的“假动态”数组132
9.3字符数组133
9.3.1定义字符数组133
9.3.2字符数组和字符串指针变量134
9.4数组初始化135
9.4.1定义时的初始化135
9.4.2初始化赋值语句136
9.5指针和数组137
9.5.1基本原理137
9.5.2指向数组的指针137
9.5.3指针数组138
9.6枚举139
9.6.1枚举基础139
9.6.2使用枚举140
9.7结构体141
9.7.1定义结构体142
9.7.2指向结构体的指针142
9.7.3使用结构体143
9.8联合144
9.9C++11新特性:数组的替代品——array145
9.10技术解惑146
9.10.1字符数组和字符串的区别146
9.10.2字符数组和字符串可以相互转换147
9.10.3静态数组的速度快于动态数组147
9.10.4Arrays与Vector的区别147
9.10.5一道关于数组的面试题147
9.10.6数组名不是指针149
9.10.7作为一个用户自定义类型,其所占用内存空间是多少149
9.11课后练习150
第10章函数151
10.1函数基础152
10.1.1定义函数152
10.1.2函数分类153
10.2参数和返回值158
10.2.1什么是形参实参158
10.2.2使用数组作函数参数159
10.3调用函数160
10.3.1单独调用160
10.3.2函数表达式160
10.3.3调用实参161
10.3.4参数传递161
10.4函数的基本操作162
10.4.1函数递归162
10.4.2指向函数的指针163
10.4.3将函数作为参数164
10.5技术解惑165
10.5.1用typedef定义一个函数指针类型165
10.5.2const关键字在函数中的作用166
10.5.3C++函数的内存分配机制167
10.5.4主函数和子函数的关系167
10.5.5函数声明和函数定义的区别168
10.5.6使用全局变量的注意事项168
10.5.7使用寄存器变量的注意事项168
10.5.8自动变量的特点169
10.6课后练习169
第11章输入和输出170
11.1使用iostream对象171
11.1.1库iostream的作用171
11.1.2标准的I/O接口171
11.1.3文件I/O173
11.1.4字符串I/O174
11.2输出175
11.2.1预定义类型输出175
11.2.2自定义类型输出176
11.3输入177
11.3.1预定义类型输入177
11.3.2自定义类型输入177
11.4输入/输出的格式化178
11.4.1使用ios类成员函数179
11.4.2使用操纵函数180
11.5文件操作181
11.5.1打开和关闭181
11.5.2随机读写183
11.5.3二进制文件184
11.5.4检测EOF185
11.6技术解惑187
11.6.1输入/输出时数的进制问题187
11.6.2数据间隔187
11.6.3内存文件映射188
11.6.4get和put的值的差异188
11.6.5使用控制符控制输出格式188
11.7课后练习189
第12章面向对象的类和对象190
12.1类191
12.1.1声明类191
12.1.2类的属性192
12.1.3类的方法192
12.1.4构造函数193
12.1.5析构函数194
12.1.6静态成员195
12.1.7友元196
12.1.8使用修饰符198
12.2对象199
12.2.1定义对象199
12.2.2对象数组200
12.2.3对象指针201
12.2.4使用this指针201
12.3C++11标准的新变化203
12.3.1定义一个类内初始值203
12.3.2使用initializer_list处理多个实参204
12.4技术解惑208
12.4.1浅复制和深复制208
12.4.2构造函数的错误认识和正确认识209
12.4.3保护性析构函数的作用209
12.5课后练习210
第13章命名空间和作用域211
13.1命名空间基础212
13.1.1命名空间介绍212
13.1.2定义命名空间212
13.2使用命名空间214
13.2.1使用域限定符214
13.2.2使用using指令215
13.2.3使用using声明216
13.2.4使用别名216
13.3作用域217
13.3.1与作用域相关的概念217
13.3.2作用域的分类218
13.4技术解惑220
13.4.1using指令与using声明的比较220
13.4.2为什么需要命名空间220
13.4.3命名空间的作用221
13.4.4C++中头文件的使用方法222
13.5课后练习222
第14章继承和派生223
14.1继承与派生基础224
14.2C++的继承机制224
14.2.1定义继承224
14.2.2派生类的继承方式226
14.2.3公有派生和私有派生227
14.3派生类228
14.3.1使用基类228
14.3.2使用派生228
14.3.3构造函数230
14.3.4析构函数232
14.3.5使用同名函数233
14.3.6使用同名属性235
14.4单重继承和多重继承236
14.4.1单重继承236
14.4.2多重继承236
14.4.3多重继承下的构造函数和析构函数237
14.5虚继承和虚基类239
14.5.1虚基类介绍240
14.5.2使用虚基类240
14.6技术解惑241
14.6.1通过虚继承解决二义性问题241
14.6.2使用C++虚基类的注意事项242
14.6.3虚基类的子对象的初始化243
14.6.4允许派生类中的成员名与基类中的成员名相同243
14.7课后练习243
第15章多态244
15.1什么是多态245
15.2宏多态245
15.3虚函数246
15.3.1虚函数基础246
15.3.2纯虚函数248
15.4抽象类249
15.4.1什么是抽象类249
15.4.2抽象类的派生249
15.5运算符重载和函数重载251
15.5.1运算符重载基础251
15.5.2重载一元运算符251
15.5.3重载二元运算符252
15.5.4参数类型不同的重载253
15.6流的重载254
15.6.1流插入重载254
15.6.2流提取重载255
15.7覆盖257
15.7.1覆盖函数257
15.7.2覆盖变量258
15.8技术解惑259
15.8.1重载、覆盖和隐藏的区别259
15.8.2在重载运算符时要权衡实施的必要性260
15.8.3为什么需要函数重载260
15.8.4重载函数的调用匹配260
15.8.5另一种虚方法查找方案261
15.8.6两种重载方法的比较262
15.9课后练习262
第16章使用模板263
16.1模板基础264
16.2类模板265
16.2.1什么是类模板265
16.2.2定义类模板265
16.2.3使用类模板266
16.2.4类模板的派生268
16.2.5类模板和模板类的区别268
16.3函数模板270
16.3.1定义函数模板270
16.3.2使用函数模板271
16.3.3模板实例化271
16.3.4模板组合273
16.4技术解惑273
16.4.1在函数模板中使用多个类型参数时要避免类型参数的二义性273
16.4.2函数模板和模板函数的区别274
16.4.3函数模板和类模板的区别274
16.4.4仿函数的用处275
16.5课后练习275
第17章异常处理276
17.1什么是异常处理277
17.2C++的异常处理277
17.2.1使用throw抛出异常277
17.2.2使用raise抛出异常279
17.2.3使用trycatch异常捕获279
17.2.4异常处理中的构造和析构281
17.3C++的异常处理总结282
17.4技术解惑284
17.4.1编写软件的目标284
17.4.2关于C++关键字new的异常处理284
17.4.3C++语言异常处理和结构化异常处理有什么区别285
17.4.4C++抛出异常不捕获,程序的空间会释放吗285
17.4.5throw抛出异常的特点286
17.4.6关于C++异常处理的体会286
17.4.7慎用catch(...)286
17.4.8慎用继承体系里的类作为catch的参数287
17.4.9对象析构函数被调用的3种场合287
17.4.10不要在异常处理体系中寄希望于类型转换287
17.4.11是否有C++异常处理体系捕获不到的东西288
17.4.12set_unexpected函数的用处288
17.4.13不要让异常逃离析构函数289
17.5课后练习289
第18章内存管理290
18.1内存分类291
18.2栈内存管理291
18.2.1申请栈内存291
18.2.2使用栈内存292
18.2.3释放栈内存294
18.2.4改变内存大小294
18.3堆内存管理295
18.3.1申请堆内存295
18.3.2使用堆内存296
18.3.3释放堆内存296
18.3.4改变内存大小297
18.4技术解惑298
18.4.1堆和栈的区别298
18.4.2常见的内存错误及其对策299
18.4.3防止发生溢出错误300
18.5课后练习300
第19章预处理301
19.1预处理基础302
19.1.1什么是预处理302
19.1.2C++中的预处理302
19.2使用宏时的常见陷阱308
19.3技术解惑309
19.3.1预处理的未来309
19.3.2两者的意义310
19.3.3一个初学者的问题310
19.4课后练习310
第20章错误和调试311
20.1什么是错误312
20.1.1Bug的由来312
20.1.2程序设计方面的解释312
20.2常见的错误分析312
20.3程序调试常见错误317
20.4C++编程中的调试技巧322
20.4.1调试标记322
20.4.2运行期间调试标记322
20.4.3把变量和表达式转换成字符串323
20.4.4C++语言的assert()323
20.5技术解惑323
20.5.1编写规范易懂的代码323
20.5.2编写安全可靠的代码324
20.5.3VisualC++调试技术326
20.5.4常见的非语法错误328
第21章初入江湖——图书借阅系统的实现过程329
21.1项目要求330
21.2需求分析330
21.3系统具体实现330
21.3.1数据结构设计331
21.3.2系统主文件rent.cpp331
21.3.3菜单处理文件mainfunction.h332
21.3.4函数定义文件subfunction.h332
21.3.5菜单处理实现文件mainfunction.cpp333
21.3.6功能函数实现文件subfunction.cpp337
第22章开始闯关——C++实现网络应用项目353
22.1项目要求354
22.1.1客户机/服务器模式介绍354
22.1.2客户机/服务器模式的运作流程355
22.2实现原理355
22.2.1什么是Winsocket编程接口355
22.2.2Winsocket中的函数355
22.3具体实现360
22.3.1客户端和服务器端的公用文件360
22.3.2实现服务器端363
22.3.3实现客户端364
第23章开始闯关——C++实现游戏项目366
23.1计算机游戏基础367
23.1.1游戏的基本流程367
23.1.2游戏元素367
23.1.3游戏层次368
23.2项目分析368
23.2.1游戏的角色368
23.2.2游戏界面表现369
23.3具体实现369
23.3.1实现相关位图369
23.3.2变量与函数369
23.3.3实现全屏371
23.3.4类初始化371
23.3.5实现具体显示界面372
23.3.6信息提示374
23.3.7与时间段相关的操作374
23.3.8键盘操作375
23.3.9我方发射子弹376
23.3.10敌机出现378
23.3.11敌机发射子弹378
23.3.12敌机子弹移动378
23.3.13火力实现379
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网