图书介绍
C++入门经典PDF|Epub|txt|kindle电子书版本网盘下载
- (美)Ivor Horton著;李予敏译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302084025
- 出版时间:2004
- 标注页数:820页
- 文件大小:32MB
- 文件页数:839页
- 主题词:C语言-程序设计
PDF下载
下载说明
C++入门经典PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
1.1 编程语言1
1.1.1 解释性的程序和编译性的程序的执行过程1
第1章 基本概念1
1.1.2 库2
1.2 为什么C++是一种强大的语言2
1.3 一个简单的C++程序3
1.4 名称4
1.5 关键字6
1.6 C++语句和语句块6
1.7 程序结构7
1.8 从源文件中创建可执行文件8
1.8.2 链接9
1.8.1 编译9
1.9 字符和字符集10
1.9.1 字符编码11
1.9.2 转义序列11
1.9.3 空白13
1.10 程序的注释14
1.11 标准库15
1.12 用C++编程16
1.13 本章小结…………………………………………………………………………………?1.14 练习……………………………………………………………………………………………?第2章 基本数据类型和计算19
2.1 数据和数据类型19
2.2 进行简单的计算19
2.2.1 整型字面量20
2.2.2 二进制数21
2.2.3 十六进制数22
2.2.4 负的二进制数23
2.2.5 十六进制的整型字面量24
2.2.6 八进制的整型字面量25
2.2.7 整数的算术运算25
2.3 使用变量30
2.4 整型变量31
2.4.1 整型变量类型33
2.4.2 内存中的整型变量35
2.5 赋值运算符36
2.5.1 多次赋值37
2.5.2 修改变量的值37
2.6 整数的递增和递减39
2.7 const关键字40
2.8 浮点数42
2.8.1 浮点数的数据类型43
2.8.2 使用浮点数值45
2.9 使用字符48
2.10 初始值的函数表示法51
2.11 本章小结51
2.12 练习52
第3章 处理基本数据类型53
3.1 混合的表达式53
3.1.1 赋值和不同的类型54
3.1.2 显式强制转换55
3.2 确定类型58
3.1.3 老式的强制转换58
3.3 按位运算符62
3.3.1 移位运算符62
3.3.2 位模式下的逻辑运算64
3.4 枚举数据类型73
3.4.1 匿名枚举74
3.4.2 在整型和枚举类型之间强制转换75
3.5 数据类型的同义词77
3.6 变量的生存期78
3.6.1 自动变量78
3.6.2 定位变量的声明81
3.6.3 全局变量81
3.8 声明外部变量84
3.6.4 静态变量84
3.7 特殊的类型修饰符84
3.9 优先级和相关性85
3.10 本章小结86
3.11 练习86
第4章 选择和决策87
4.1 比较数据值87
4.1.1 应用比较运算符88
4.1.2 比较浮点数值90
4.2 if语句90
4.3 if-else语句97
4.4 逻辑运算符102
4.4.2 逻辑或运算符103
4.4.1 逻辑与运算符103
4.4.3 逻辑非运算符104
4.5 条件运算符107
4.6 switch语句109
4.7 无条件分支114
4.8 决策语句块和变量作用域114
4.9 本章小结116
4.10 练习116
第5章 循环117
5.1 理解循环117
5.2 while循环118
5.3 do-while循环120
5.4 for循环123
5.4.1 循环和变量作用域126
5.4.2 用浮点数值控制for循环128
5.4.3 使用更复杂的循环控制表达式131
5.5 嵌套的循环135
5.6 跳过循环迭代139
5.7 循环的中断141
5.8 本章小结147
5.9 练习148
第6章 数组和字符串149
6.1 数据数组149
6.1.1 使用数组149
6.1.2 初始化数组154
6.1.3 字符数组158
6.2 多维数组161
6.2.1 初始化多维数组163
6.2.2 多维字符数组166
6.3 string类型168
6.3.1 声明string对象169
6.3.2 使用string对象170
6.3.3 访问字符串中的字符173
6.3.4 访问子字符串175
6.3.5 比较字符串175
6.3.6 搜索字符串181
6.3.7 修改字符串189
6.4 string类型的数组194
6.5 本章小结195
6.6 练习196
7.1 什么是指针197
第7章 指针197
7.2 指针的声明198
7.3 指针的初始化203
7.4 常量指针和指向常量的指针214
7.5 指针和数组216
7.5.1 指针的算术运算216
7.5.2 使用数组名的指针表示法218
7.5.3 对多维数组使用指针222
7.5.4 C样式字符串的操作225
7.6 动态内存分配226
7.6.1 自由存储区227
7.6.2 运算符new和delete227
7.6.3 数组的动态内存分配228
7.6.4 动态内存分配的危险231
7.6.5 转换指针237
7.7 本章小结237
7.8 练习238
第8章 使用函数编程239
8.1 程序的分解239
8.2 理解函数240
8.2.1 定义函数241
8.2.2 函数的声明245
8.3 给函数传送参数247
8.3.1 按值传送机制247
8.3.2 按引用传送机制256
8.3.3 main()的参数260
8.4 默认的参数值261
8.5 从函数中返回值265
8.5.1 返回一个指针265
8.5.2 返回一个引用270
8.5.3 从函数中返回新变量270
8.6 内联函数270
8.7 静态变量271
8.8 本章小结274
8.9 练习274
第9章 函数276
9.1 函数的重载276
9.1.1 函数的签名276
9.1.3 重载和引用参数279
9.1.2 重载和指针参数279
9.1.4 重载和const参数281
9.1.5 重载和默认参数值282
9.2 函数模板283
9.2.1 显式指定模板参数286
9.2.2 模板的说明287
9.2.3 函数模板和重载290
9.2.4 带有多个参数的模板291
9.3 函数指针292
9.3.1 声明函数指针293
9.3.2 把函数作为参数传送296
9.3.3 函数指针的数组298
9.4 递归299
9.5 本章小结307
9.6 练习308
第10章 程序文件和预处理器309
10.1 使用程序文件309
10.2 命名空间315
10.2.1 全局命名空间316
10.2.2 声明命名空间317
10.2.3 隐式地限定名称320
10.2.4 函数和命名空间322
10.2.5 函数模板和命名空间326
10.2.6 扩展命名空间328
10.2.7 未指定名称的命名空间332
10.2.8 命名空间的别名332
10.2.9 嵌套的命名空间333
10.3 预处理器334
10.3.1 在程序中包含头文件335
10.3.2 程序中的置换336
10.3.3 宏置换338
10.3.4 放在多行代码中的预处理器指令340
10.3.5 把字符串作为宏参数340
10.3.6 在宏表达式中连接参数342
10.4 逻辑预处理器指令342
10.4.1 逻辑#if指令342
10.4.2 测试特定值的指令345
10.4.3 多个代码选择块345
10.4.4 标准的预处理器宏346
10.4.5 #error和#pragma指令347
10.5 调试方法348
10.5.1 集成调试器348
10.5.2 调试中的预处理器349
10.5.3 使用assert宏355
10.6 本章小结357
10.7 练习358
第1 1章 创建自己的数据类型359
11.1 对象的概念359
11.2 C++中的结构360
11.2.1 理解结构360
11.2.2 定义结构类型361
11.2.3 初始化结构变量363
11.2.4 访问结构变量的成员364
11.2.5 对结构使用指针370
11.3 联合373
11.3.1 声明联合374
11.3.2 匿名联合376
11.4 更复杂的结构377
11.5 本章小结384
11.6 练习384
第12章 类385
12.1 类和面向对象编程385
12.1.1 封装386
12.1.2 继承387
12.1.3 多态性388
12.1.4 术语389
12.2 定义类390
12.3 构造函数393
12.3.1 把构造函数的定义放在类的外部395
12.3.2 默认的构造函数397
12.3.3 默认的初始化值401
12.3.4 在构造函数中使用初始化列表402
12.3.5 使用explicit关键字402
12.4 类的私有成员404
12.4.1 访问私有类成员408
12.4.2 默认的副本构造函数410
12.5 友元411
12.5.1 类的友元函数412
12.6 this指针415
12.5.2 友元类415
12.7 const对象和const成员函数419
12.7.1 类中的mutable数据成员421
12.7.2 常量的强制转换422
12.8 类的对象数组422
12.9 类对象的大小425
12.10 类的静态成员427
12.10.1 类的静态数据成员428
12.10.2 类的静态成员函数433
12.11 本章小结435
12.12 练习435
13.1 类对象的指针和引用437
13.2 指针作为数据成员437
第13章 类的操作437
13.2.1 定义Package类439
13.2.2 定义TruckLoad类442
13.2.3 实现TruckLoad类443
13.3 控制对类的访问452
13.4 副本构造函数的重要性455
13.5 对象内部的动态内存分配461
13.5.1 析构函数462
13.5.2 默认的析构函数462
13.5.3 实现析构函数465
13.6 类的引用466
13.7 本章小结469
13.8 练习469
14.1.1 运算符重载471
14.1 为自己的类实现运算符471
第14章 运算符重载471
14.1.2 可以重载的运算符472
14.1.3 实现重载运算符472
14.1.4 全局运算符函数476
14.1.5 提供对运算符的全部支持477
14.1.6 运算符函数术语481
14.1.7 重载赋值运算符481
14.1.8 重载算术运算符489
14.1.9 重载下标运算符494
14.1.10 重载类型转换502
14.1.11 重载递增和递减运算符504
14.1.12 智能指针504
14.1.13 重载运算符new和delete511
14.2 本章小结512
14.3 练习512
第15章 继承514
15.1 类和面向对象编程514
15.2 类的继承516
15.2.1 继承和聚合516
15.2.2 从基类中派生新类517
15.3 继承下的访问控制521
15.4 把类的成员声明为protected524
15.5 派生类成员的访问级别526
15.6 派生类中的构造函数操作530
15.7 继承中的析构函数538
15.8 重复的成员名540
15.9 多重继承542
15.9.1 多个基类542
15.9.2 继承成员的模糊性543
15.9.3 重复的继承550
15.9.4 虚基类551
15.10 在相关的类类型之间转换552
15.11 本章小结553
15.12 练习553
第16章 虚函数和多态性555
16.1 理解多态性555
16.1.1 使用基类指针555
16.1.2 调用继承的函数557
16.1.3 虚函数561
16.1.4 虚函数中的默认参数值569
16.1.5 通过引用来调用虚函数570
16.1.6 调用虚函数的基类版本572
16.1.7 在指针和类对象之间转换572
16.1.8 动态强制转换574
16.2 多态性的成本576
16.3 纯虚函数577
16.3.1 抽象类578
16.3.2 间接的抽象基类581
16.4 通过指针释放对象585
16.5 在运行期间标识类型587
16.6 类成员的指针589
16.6.1 数据成员指针589
16.6.2 成员函数指针593
16.7 本章小结597
16.8 练习598
第17章 程序错误和异常处理599
17.1 处理错误599
17.2 理解异常600
17.2.1 抛出异常600
17.2.2 导致抛出异常的代码606
17.2.3 嵌套的try块607
17.3 用类对象作为异常611
17.3.1 匹配Catch处理程序和异常613
17.3.2 用基类处理程序捕获派生类异常616
17.3.3 重新抛出异常619
17.3.4 捕获所有的异常623
17.4 抛出异常的函数625
17.4.1 函数try块625
17.4.2 在构造函数中抛出异常628
17.4.3 异常和析构函数629
17.5 标准库异常629
17.5.1 标准库异常类630
17.5.2 使用标准异常631
17.6 本章小结632
17.7 练习632
第18章 类模板634
18.1 理解类模板634
18.2 定义类模板635
18.2.2 简单的类模板636
18.2.1 模板参数636
18.2.3 创建类模板的实例641
18.2.4 类模板的静态成员649
18.2.5 非类型的类模板参数650
18.2.6 非类型参数示例651
18.2.7 默认的模板参数值662
18.3 模板的显式实例化662
18.4 类模板的友元663
18.5 特殊情形664
18.6 带有嵌套类的类模板666
18.7 更高级的类模板676
18.8 本章小结676
18.9 练习677
第19章 输入输出操作678
19.1 C++中的输入输出678
19.2 流类680
19.2.1 标准流681
19.2.2 流的插入和提取操作681
19.2.3 流操纵程序683
19.3 文件流686
19.3.1 写入文件686
19.3.2 读取文件689
19.3.3 设置文件打开模式691
19.4 未格式化的流操作701
19.4.1 未格式化的流输入函数701
19.5 流输入输出中的错误703
19.4.2 未格式化的流输出函数703
19.6 使用二进制模式流操作705
19.7 流上的读写操作714
19.8 字符串流723
19.9 对象和流724
19.9.1 重载类对象的插入运算符724
19.9.2 重载类对象的提取运算符727
19.9.3 流中更复杂的对象730
19.10 本章小结742
19.11 练习743
第20章 标准模板库744
20.1 STL架构简介744
20.2 使用vector容器746
20.2.1 vector容器的基本操作748
20.2.2 使用vector容器进行数组操作754
20.2.3 istream iterator迭代器759
20.3 理解迭代器762
20.3.1 给算法传送迭代器764
20.3.2 模拟istream_operator和ostream_operator766
20.3.3 迭代器的要求767
20.3.4 修订后的Integer迭代器769
20.3.5 输入和输出迭代器776
20.4 存储空间管理一瞥777
20.4.1 Account帮助类778
20.4.2 STL元素需求和理想的Bean780
20.4.3 确定vector的大小和vector存储空间的管理783
20.5 list容器789
20.6 关联map容器795
20.7 性能和规范801
20.8 本章小结803
20.9 练习804
附录A ASCII马805
附录B C++关键字808
附录C 标准库头文件810
C.1 语言支持810
C.2 输入/输出811
C.3 诊断811
C.4 一般工具811
C.7 迭代器支持812
C.6 容器812
C.5 字符串812
C.8 一般用途的算法813
C.9 数值操作813
C.10 本地化813
附录D 运算符的优先级和相关性814
附录E 项目示例817
E.1 提纲817
E.2 开发人员应注意的问题819
E.2.1 Person类819
E.2.2 Student和Teacher派生类819
E.2.3 容器819
E.2.4 保存和恢复数据820
E.3 小结820