图书介绍
21天学通C++ 第3版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)Jesse Liberty著;康博创作室译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115085692
- 出版时间:2000
- 标注页数:810页
- 文件大小:23MB
- 文件页数:837页
- 主题词:
PDF下载
下载说明
21天学通C++ 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一篇1
第一章 开始3
1.1 引言3
1.2 C++历史简介3
1.3 程序4
1.4 本书要解决的问题4
1.4.1 过程编程、结构化编程和面向对象编程5
1.4.2 C++和面向对象编程6
1.5 C++的发展历程7
1.6 学习C++应该先学C吗7
1.7 C++和Java7
1.8 ANSI标准8
1.9 准备编程8
1.10 开发环境9
1.11 编译源代码9
1.13 程序开发周期10
1.14 HELLO.cpp——你的第一个C++程序10
1.12 用链接器生成可执行文件10
1.15 开始学习Visual C++ 6.013
1.16 编译错误13
1.17 小结14
1.18 问与答14
1.19 习题15
1.19.1 测验15
1.19.2 练习15
2.1 一个简单程序17
第二章 C++程序的组成部分17
2.2 cout简介19
2.3 注释20
2.3.1 注释的类型21
2.3.2 使用注释21
2.3.3 对注释的忠告22
2.4 函数22
2.4.1 函数的使用23
2.7 习题25
2.6 问与答25
2.5 小结25
2.7.1 测验26
2.7.2 练习26
第三章 变量与常量27
3.1 什么是变量27
3.1.1 留出内存27
3.1.2 整型量的大小28
3.1.3 有符号和无符号29
3.1.4 基本变量类型29
3.2 定义一个变量30
3.2.1 大小写敏感性31
3.2.2 关键字32
3.3 一次创建多个变量32
3.4 给变量赋值33
3.5 typedef34
3.6 short与long的使用35
3.6.2 有符号整型量的溢出36
3.6.1 无符号整型量的溢出36
3.7 字符型变量37
3.7.1 字符和数字38
3.7.2 特殊打印字符38
3.8 常量39
3.8.1 字面常量39
3.8.2 符号常量39
3.9 枚举型常量41
3.11 问与答43
3.10 小结43
3.12 习题44
3.12.1 测验44
3.12.2 练习45
第四章 表达式和语句47
4.1 语句47
4.1.1 空白47
4.1.2 块和复合语句48
4.2 表达式48
4.3.1 赋值运算符49
4.3 运算符49
4.3.2 数学运算符50
4.3.3 整型量除法和取模51
4.4 赋值运算符与数学运算符的组合52
4.5 自加与自减53
4.6 优先级55
4.7 括号的嵌套56
4.8 真值的本质56
4.8.1 关系运算符57
4.9 if语句58
4.9.1 缩进样式61
4.9.2 else61
4.9.3 高级if语句63
4.10 在嵌套的if语句中使用大括号65
4.11 逻辑运算符67
4.12 简化求值68
4.11.3 逻辑“非”68
4.11.2 逻辑“或”68
4.11.1 逻辑“与”68
4.13 关系运算符的优先级69
4.14 有关真假关系的进一步讨论69
4.15 条件运算符(三目运算符)70
4.16 小结71
4.17 问与答72
4.18 习题72
4.18.1 测验72
4.18.2 练习73
第五章 函数75
5.1 什么是函数75
5.2 函数的返回值、参量和变元75
5.3 声明和定义函数76
5.3.1 函数的声明76
5.3.2 函数原型77
5.3.3 定义函数79
5.4 函数的执行80
5.5 局部变量80
5.6 全局变量83
5.7 使用全局变量的注意事项84
5.8 有关局部变量的更多知识84
5.9 函数语句86
5.10 有关函数变元的更多知识86
5.10.1 使用函数作为函数的参量86
5.11 参量作为局部变量87
5.12 有关返回值的更多知识88
5.13 默认参量90
5.14 函数重载92
5.15 有关函数的一些专门话题95
5.15.1 内嵌函数96
5.15.2 递归97
5.16 函数是如何工作的101
5.16.1 抽象层次101
5.16.2 划分RAM102
5.16.3 堆栈与函数104
5.18 问与答105
5.17 小结105
5.19 习题106
5.19.1 测验106
5.19.2 练习106
第六章 基本类109
6.1 创建新类型109
6.1.1 为什么要创建新类型110
6.2 类和成员110
6.2.1 声明一个类110
6.2.3 定义一个对象111
6.2.2 有关命名习惯的一点说明111
6.2.4 类与对象112
6.3 访问类成员112
6.3.1 给对象赋值而不是给类赋值112
6.3.2 如果你不声明它,你的类就没有它113
6.4 私有和公有113
6.4.1 使成员数据私有115
6.4.2 私有性与安全性116
6.5 实现类的方法118
6.6 构造函数和析构函数120
6.6.2 使用默认构造函数121
6.6.1 默认的构造函数和析构函数121
6.7 成员函数const124
6.8 界面与实现125
6.9 在何处放置类声明和方法定义128
6.10 内嵌实现129
6.11 用其他类作为成员数据的类131
6.12 结构体135
6.12.1 为什么两个关键字做同一件事135
6.13 小结136
6.14 问与答136
6.15 习题137
6.15.1 测验137
6.15.2 练习137
7.1 循环139
7.1.1 循环语句的起源——goto语句139
第七章 程序流程139
7.1.2 为什么现在不再使用goto语句140
7.2 while循环141
7.2.1 复杂的while语句142
7.2.2 continue和break144
7.2.3 while(true)循环146
7.3 do...while循环147
7.4 Do?while148
7.5 for循环150
7.5.1 高级for循环152
7.5.2 多重初始化和自增运算152
7.5.3 在for循环中使用空语句153
7.5.4 空for循环155
7.5.5 嵌套循环156
7.5.6 for循环的作用域157
7.6 循环总结158
7.7 switch语句160
7.7.1 使用带有菜单的switch语句163
7.9 问和答167
7.8 小结167
7.10 习题168
7.10.1 测验168
7.10.2 练习168
第一篇内容回顾171
第二篇177
第八章 指针179
8.1 什么是指针179
8.1.1 在指针中存储地址181
8.1.2 指针名183
8.1.3 间接引用运算符183
8.1.4 指针、地址和变量184
8.1.5 使用指针操作数据184
8.1.6 检查地址185
8.2 为什么要使用指针187
8.3 栈和自由存储区188
8.3.1 new189
8.3.2 delete189
8.4 内存泄漏191
8.6 删除对象192
8.5 在自由存储区内创建对象192
8.7 访问数据成员193
8.8 自由存储区中的成员数据195
8.9 this指针197
8.10 迷途指针、失控指针或悬浮指针199
8.11 const指针202
8.11.1 const指针和const成员函数202
8.12 指针算法204
8.11.2 const this指针204
8.13 小结207
8.14 问与答207
8.15 习题208
8.15.1 测验208
8.15.2 练习208
第九章 引用211
9.1 什么是引用211
9.2 对引用使用取址运算符212
9.2.1 引用不能被重新赋值214
9.3 什么可以被引用215
9.4 空指针和空引用217
9.5 通过引用传递函数参数217
9.5.1 用指针使swap()工作219
9.5.2 使用引用实现swap()220
9.6 理解函数头文件和原型222
9.7 返回多个值222
9.8 使用引用传递来提高效率225
9.8.1 传递const指针228
9.8.2 使用引用代替指针231
9.9 何时使用引用以及何时使用指针233
9.10 混合使用引用和指针234
9.11 不要返回对不在作用域中的对象的引用235
9.12 返回对一个在堆中的对象的引用237
9.13 指针的传递239
9.15 问与答240
9.16 习题240
9.14 小结240
9.16.1 测验241
9.16.2 练习241
第十章 高级函数243
10.1 重载成员函数243
10.2 使用默认值245
10.3 默认值和重载函数的选择248
10.4 默认构造函数248
10.5 重载构造函数249
10.6 初始化对象250
10.7 复制构造函数251
10.8 运算符重载255
10.8.1 写一个自加函数257
10.8.2 重载前置运算符258
10.8.3 重载运算符函数的返回类型259
10.8.4 返回无名临时对象261
10.8.5 使用this指针263
10.8.6 重载后置运算符264
10.8.7 前置和后置之间的区别264
10.8.8 加法运算符267
10.8.9 重载operator+268
10.8.10 运算符重载中存在的问题270
10.8.11 运算符重载的局限性271
10.8.12 重载什么271
10.8.13 赋值运算符271
10.9 转换运算符274
10.9.1 转换运算符277
10.10 小结278
10.12 习题279
10.11 问与答279
10.12.1 测验280
10.12.2 练习280
第十一章 继承283
11.1 什么是继承283
11.1.1 继承和派生283
11.1.2 动物世界285
11.1.3 派生的语法285
11.2 私有型与保护型287
11.3 构造函数和析构函数289
11.3.1 向基构造函数传递参数292
11.4 覆盖函数296
11.4.1 隐藏基类方法298
11.4.2 调用基函数300
11.5 虚函数302
11.5.1 虚函数是怎样工作的306
11.5.3 切片(slicing)307
11.5.2 不能从基类中访问派生类中的函数307
11.5.4 虚析构函数310
11.5.5 虚复制构造函数310
11.5.6 虚函数的代价313
11.6 小结314
11.7 问与答314
11.8 习题315
11.8.1 测验315
11.8.2 练习316
12.1 什么是数组317
第十二章 数组和链表317
12.2 数组元素318
12.3 超过数组未尾写入数据319
12.4 篱笆标志错误322
12.5 初始化数组322
12.6 声明数组323
12.7 对象的数组324
12.8 多维数组326
12.9 初始化多维数组327
12.10 有关内存的一些话题328
12.11 指针数组329
12.12 在自由存储区声明数组330
12.13 指向数组的指针和指针数组331
12.14 指针与数组名331
12.15 删除自由存储区中的数组333
12.16 char数组334
12.17 strcpy()和strncpy()336
12.18 字符串类337
12.19 链表和其他结构344
12.20 链表案例研究345
12.21 组件部分346
12.22 你学到了什么354
12.23 数组类355
12.24 小结355
12.25 问与答356
12.26 习题356
12.26.1 测验356
12.26.2 练习357
第十三章 多态性359
13.1 单一继承的问题359
13.1.1 升迁361
13.1.2 下降362
13.1.3 添加到两个链表364
13.2 多重继承365
13.2.1 多重继承对象的构成368
13.2.2 多重继承对象中的构造函数369
13.2.4 从共享基类中继承372
13.2.3 歧义解析372
13.2.5 虚继承376
13.2.6 多重继承中存在的问题380
13.2.7 混合继承和功能类381
13.3 抽象数据类型381
13.3.1 纯虚函数385
13.3.2 实现纯虚函数386
13.3.3 复杂的抽象层次390
13.3.4 哪些类型是抽象的394
13.4 观察者模式395
13.4.1 有关多重继承、抽象数据类型和Java的一些情况395
13.5 小结396
13.6 问与答396
13.7 习题397
13.7.1 测验397
13.7.2 练习397
14.1 静态成员数据399
第十四章 特殊类和函数399
14.2 静态成员函数405
14.3 函数指针407
14.3.1 为什么使用函数指针410
14.3.2 函数指针数组414
14.3.3 把函数指针传递给其他函数416
14.3.4 在函数指针中使用typedef419
14.4 成员函数指针422
14.4.1 成员函数指针数组424
14.5 小结427
14.6 问与答427
14.7 习题428
14.7.1 测验428
14.7.2 练习428
第二篇内容回顾429
第三篇441
第十五章 高级继承443
15.1 包容443
15.1.2 过滤对被包容成员的访问450
15.1.1 访问被包容类的成员450
15.1.3 包容的代价451
15.1.4 按值来复制454
15.2 继承实现/包容与代理458
15.2.1 授权459
15.3 私有继承468
15.4 友元类478
15.6 友元函数和运算符重载488
15.5 友元函数488
15.7 重载插入运算符494
15.8 小结498
15.9 问与答499
15.10 习题499
15.10.1 测验499
15.10.2 练习500
第十六章 流503
16.1 流概述503
16.1.1 封装503
16.1.2 缓冲504
16.2 流和缓冲区506
16.3 标准I/O对象506
16.4 重定向507
16.5 用cin输入507
16.5.1 串509
16.5.2 串存在的问题509
16.5.3 运算符>>返回对一个istream对象的引用512
16.6.2 不使用参数的get()513
16.6.1 单字符输入513
16.6 cin的其他成员函数513
16.6.3 使用带字符引用参数的get()514
16.6.4 从标准输入读取字符串515
16.6.5 使用cin.ignore()518
16.6.6 peek()和putback()519
16.7 使用cout输出520
16.7.1 清除输出520
16.8 相关函数521
16.9.1 使用cout.width()522
16.9 控制符、标志和格式化指令522
16.9.2 设置填充字符523
16.9.3 设置标志524
16.10 流和printf()函数526
16.11 文件的输入和输出529
16.12 ofstream530
16.12.1 条件状态530
16.12.2 打开文件进行输入和输出530
16.12.3 在打开时改变ofstream的默认行为532
16.13 二进制文件和文本文件534
16.14 命令行处理536
16.15 小结540
16.16 问与答540
16.17 习题541
16.17.1 测验541
16.17.2 练习541
第十七章 名字空间543
17.1 开始543
17.2 按名字解析函数和类544
17.3 创建名字空间547
17.3.1 声明和定义类型547
17.3.2 在名字空间外定义函数548
17.3.3 添加新成员549
17.3.4 嵌套的名字空间549
17.4 使用名字空间550
17.5 关键字using552
17.5.1 using命令552
17.5.2 using声明554
17.6 名字空间别名555
17.7 未命名的名字空间556
17.8 标准名字空间std557
17.9 小结558
17.10 问与答559
17.10.1 测验559
17.10.2 练习559
18.1 C++是面向对象的吗561
第十八章 面向对象的分析及设计561
18.2 构造模型562
18.3 软件设计:建模语言562
18.4 软件设计:过程563
18.5 概览565
18.6 需求分析565
18.6.1 使用情况566
18.6.2 应用分析574
18.6.3 系统分析574
18.6.4 计划文档574
18.6.5 可视化575
18.6.6 人工制品575
18.7 设计576
18.7.1 什么是类576
18.7.2 变换577
18.7.3 静态模型579
18.7.4 动态模型585
18.8 小结589
18.9 问与答590
18.10 习题590
18.10.1 测验590
18.10.2 练习591
第十九章 模板593
19.1 什么是模板593
19.2 参数化类型593
19.3 模板定义594
19.2.1 实例化一个模板的实例594
19.3.1 使用名字596
19.3.2 模板的实现596
19.4 模板函数600
19.5 模板和友元600
19.5.1 非模板友元类和函数600
19.5.2 通用模板友元类或函数605
19.6 使用模板单元609
19.6.1 特殊化函数613
19.6.2 静态成员和模板619
19.8 容器624
19.9 顺序容器624
19.7 标准模板库624
19.9.1 向量容器625
19.9.2 列表容器631
19.9.3 Deque容器632
19.10 堆栈633
19.11 了解队列633
19.12.1 映射容器634
19.12 了解关联容器634
19.12.2 其他关联容器637
19.13 算法类638
19.13.1 不变序列运算639
19.13.2 改变序列算法640
19.14 小结641
19.15 问与答641
19.16.2 练习642
19.16.1 测验642
19.16 习题642
第二十章 异常和错误处理645
20.1 程序中的各种错误(bugs,errors,mistakes和code rot)645
20.1.1 异常646
20.1.2 关于代码腐烂646
20.2 异常647
20.2.1 如何使用异常647
20.3.1 捕捉异常652
20.3 使用try块和catch块652
20.3.2 设置多条catch语句653
20.3.3 异常等级656
20.4 异常中的数据和命名异常对象659
20.5 异常和模板667
20.6 没有错误的异常671
20.7 错误和调试671
20.8 小结672
20.7.3 检查内存672
20.7.4 汇编器672
20.7.1 断点672
20.7.2 观察点672
20.9 问与答673
20.10 习题673
20.10.1 测验674
20.10.2 练习674
21.1 预处理器和编译器677
21.2 查看中间结果677
第二十一章 进一步掌握的内容677
21.3 使用#define678
21.3.1 用#define替换常量678
21.3.2 用#define进行测试678
21.3,3 预编译命令#else679
21.4 包含和包含警卫680
21.5 宏函数681
21.5.1 为什么总要用括号682
21.5.2 宏与函数和模板683
21.6 内联函数684
21.7 字符串操作685
21.7.1 字符串化685
21.7.2 连结字符串686
21.8 预定义宏686
21.9 assert()687
21.9.1 用assert()调试688
21.9.2 assert()与异常688
21.9.4 类不变量689
21.9.3 副作用689
21.9.5 打印中间值695
21.9.6 调试级别696
21.10 位操作703
21.10.1 “与”运算符704
21.10.2 “或”运行符704
21.10.3 “异或”运算符704
21.10.4 求补运算符704
21.10.5 设置位704
21.10.7 反转位705
21.10.6 清除位705
21.10.8 位域706
21.11 风格709
21.11.1 缩进709
21.11.2 大括号709
21.11.3 长代码行709
21.11.4 switch语句710
21.11.5 程序文本710
21.11.7 名字的拼写和大写711
21.11.6 标识符名称711
21.11.8 注释712
21.11.9 访问712
21.11.10 类定义713
21.11.11 包含文件713
21.11.12 assert()713
21.11.13 const713
21.12 下一步713
21.13 小结714
21.12.3 保持联系714
21.12.2 杂志714
21.12.1 从何处获得帮助和建议714
21.14 问与答715
21.14.1 测验716
21.14.2 练习716
第三篇内容回顾717
附录A 运算符的优先级731
附录B C++关键字733
C.1其他进制735
附录C 二进制和十六进制735
C.2 进制的转换736
C.2.1二进制737
C.2.2 为什么用二进制738
C.2.3 位、字节和半字节738
C.2.4 什么是KB(千字节)738
C.2.5 二进制数739
C.3 十六进制739
附录D 答案743
热门推荐
- 501752.html
- 1496591.html
- 3418565.html
- 2551811.html
- 2112798.html
- 1003627.html
- 2389381.html
- 2709568.html
- 3347022.html
- 1798745.html
- http://www.ickdjs.cc/book_2057049.html
- http://www.ickdjs.cc/book_1120612.html
- http://www.ickdjs.cc/book_1867858.html
- http://www.ickdjs.cc/book_1382242.html
- http://www.ickdjs.cc/book_1276272.html
- http://www.ickdjs.cc/book_1973612.html
- http://www.ickdjs.cc/book_2144920.html
- http://www.ickdjs.cc/book_2847720.html
- http://www.ickdjs.cc/book_170640.html
- http://www.ickdjs.cc/book_1961649.html