图书介绍
C++编程思想【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

- (美)(B.埃克尔)Bruce Eckel著;刘宗田等译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111071166
- 出版时间:2000
- 标注页数:421页
- 文件大小:18MB
- 文件页数:437页
- 主题词:
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.1.2继承:类型关系1
译者序1
1.1.3多态性2
1.1.4操作概念:OOP程序像什么3
1.2为什么C++会成功3
1.2.1较好的C3
1.2.4系统更容易表达和理解4
1.2.5“库”使你事半功倍4
1.2.2采用渐进的学习方式4
1.2.3运行效率4
1.2.6错误处理5
1.2.7大程序设计5
1.3方法学介绍5
1.3.1复杂性5
1.3.2内部原则6
1.3.3外部原则6
1.3.4对象设计的五个阶段9
1.3.6方法应当提供什么10
1.3.5方法承诺什么10
1.4起草:最小的方法12
1.4.1前提13
1.4.2高概念14
1.4.3论述(treatment)14
1.4.4结构化14
1.4.5开发16
1.4.6重写17
1.4.7逻辑17
1.5其他方法17
1.5.1 Booch18
1.5.2责任驱动的设计(RDD)19
1.5.3对象建模技术(OMT)19
1.6为向OOP转变而采取的策略19
1.6.1逐步进入OOP19
1.6.2管理障碍20
1.7小结21
第2章 数据抽象22
2.1声明与定义22
2.2一个袖珍C库23
2.4什么是非正常29
2.3放在一起:项目创建工具29
2.5基本对象30
2.6什么是对象34
2.7抽象数据类型35
2.8对象细节35
2.9头文件形式36
2.10嵌套结构37
2.11小结41
2.12练习41
3.2 C++的存取控制42
3.1设置限制42
第3章 隐藏实现42
3.3友元44
3.3.1嵌套友元45
3.3.2它是纯的吗48
3.4对象布局48
3.5类48
3.5.1用存取控制来修改stash50
3.5.2用存取控制来修改stack51
3.6句柄类(handle classes)51
3.6.1可见的实现部分51
3.6.2减少重复编译52
3.7小结54
3.8练习54
第4章 初始化与清除55
4.1用构造函数确保初始化55
4.2用析构函数确保清除56
4.3 清除定义块58
4.3.1 for循环59
4.3.2空间分配60
4.4含有构造函数和析构函数的stash61
4.5含有构造函数和析构函数的stack63
4.6集合初始化65
4.7缺省构造函数67
4.8小结68
4.9练习68
第5章 函数重载与缺省参数69
5.1范围分解69
5.1.1用返回值重载70
5.1.2安全类型连接70
5.2重载的例子71
5.3缺省参数74
5.4小结81
5.5练习82
第6章 输入输出流介绍83
6.1为什么要用输入输出流83
6.2解决输入输出流问题86
6.2.1预先了解操作符重载86
6.2.2插入符与提取符87
6.2.3通常用法88
6.2.4面向行的输入90
6.3文件输入输出流91
6.4输入输出流缓冲93
6.5在输入输出流中查找94
6.6 strstreams96
6.6.1为用户分配的存储96
6.6.2自动存储分配98
6.7输出流格式化100
6.7.1内部格式化数据101
6.7.2例子102
6.8格式化操纵算子106
6.9建立操纵算子108
6.10输入输出流实例111
6.10.1代码生成111
6.10.2一个简单的数据记录117
6.12练习123
6.11小结123
第7章 常量124
7.1值替代124
7.1.1头文件里的const124
7.1.2 const的安全性125
7.1.3集合126
7.1.4与C语言的区别126
7.2.1指向const的指针127
7.2.2 const指针127
7.2指针127
7.2.3赋值和类型检查128
7.3函数参数和返回值128
7.3.1传递const值128
7.3.2返回const值129
7.3.3传递和返回地址131
7.4类133
7.4.1类里的const和enum133
7.4.2编译期间类里的常量134
7.4.3 const对象和成员函数136
7.4.4只读存储能力139
7.5可变的(volatile)140
7.7练习141
7.6小结141
第8章 内联函数142
8.1预处理器的缺陷142
8.2内联函数144
8.2.1类内部的内联函数145
8.2.2存取函数146
8.3.1局限性150
8.3.2赋值顺序150
8.3内联函数和编译器150
8.3.3在构造函数和析构函数里隐藏行为151
8.4减少混乱152
8.5预处理器的特点153
8.6改进的错误检查154
8.7小结155
8.8练习155
第9章 命名控制157
9.1来自C语言中的静态成员157
9.1.1函数内部的静态变量157
9.1.2控制连接160
9.2名字空间161
9.1.3其他的存储类型指定符161
9.2.1产生一个名字空间162
9.2.2使用名字空间163
9.3 C++中的静态成员166
9.3.1定义静态数据成员的存储166
9.3.2嵌套类和局部类168
9.3.3静态成员函数169
9.4静态初始化的依赖因素171
9.6小结174
9.7练习174
9.5转换连接指定174
第10章 引用和拷贝构造函数176
10.1 C++中的指针176
10.2 C++中的引用176
10.2.1函数中的引用177
10.2.2参数传递准则178
10.3拷贝构造函数179
10.3.1传值方式传递和返回179
10.3.2拷贝构造函数182
10.3.3缺省拷贝构造函数187
10.3.4拷贝构造函数方法的选择188
10.4指向成员的指针(简称成员指针)190
10.5小结192
10.6练习193
第11章 运算符重载194
11.1警告和确信194
11.2语法194
11.3可重载的运算符195
11.3.1一元运算符195
11.3.2二元运算符199
11.3.3参数和返回值210
11.3.4与众不同的运算符211
11.4非成员运算符214
11.3.5不能重载的运算符214
11.5重载赋值符216
11.6自动类型转换226
11.6.1构造函数转换226
11.6.2运算符转换227
11.6.3一个理想的例子:strings229
11.6.4自动类型转换的缺陷230
11.7小结232
11.8练习233
第12章 动态对象创建234
12.1对象创建234
12.1.1 C从堆中获取存储单元的方法235
12.1.3运算符delete236
12.1.2运算符new236
12.1.4一个简单的例子237
12.1.5内存管理的开销237
12.2重新设计前面的例子238
12.2.1仅从堆中创建string类238
12.2.2 stash指针239
12.2.3 stack例子242
12.3用于数组的new和delete244
12.4用完内存245
12.5.1重载全局new和delete246
12.5重载new和delete246
12.5.2为一个类重载new和delete248
12.5.3为数组重载new和delete250
12.5.4构造函数调用251
12.5.5对象放置252
12.6小结253
12.7练习254
第13章 继承和组合255
13.1组合语法255
13.2继承语法256
13.3.2在初始化表达式表中的内置类型258
13.3构造函数的初始化表达式表258
13.3.1成员对象初始化258
13.4组合和继承的联合259
13.4.1构造函数和析构函数的次序260
13.4.2名字隐藏261
13.4.3非自动继承的函数262
13.5组合与继承的选择263
13.5.1子类型设置265
13.5.2专门化267
13.5.3私有继承268
13.6保护269
13.7多重继承270
13.8渐增式开发270
13.9向上映射270
13.9.1为什么“向上映射”271
13.9.2组合与继承272
13.9.3指针和引用的向上映射273
13.9.4危机273
13.10小结273
13.11练习273
14.1向上映射274
第14章 多态和虚函数274
14.2问题275
14.3虚函数276
14.4 C++如何实现晚捆绑279
14.4.1存放类型信息280
14.4.2对虚函数作图281
14.4.3撩开面纱282
14.4.4安装vpointer283
14.4.5对象是不同的283
14.5为什么需要虚函数284
14.7继承和VTABLE288
14.8.1构造函数调用次序291
14.6抽象基类和纯虚函数291
14.8虚函数和构造函数291
14.8.2虚函数在构造函数中的行为292
14.9析构函数和虚拟析构函数292
14.10小结294
14.11练习294
第15章 模板和包容器类295
15.1包容器和循环子295
15.2模板综述297
15.2.2 Smalltalk方法298
15.2.1 C方法298
15.3模板的语法299
15.2.3模板方法299
15.3.1非内联函数定义300
15.3.2栈模板(the stack as a template)301
15.3.3模板中的常量303
15.4 stash stack模板304
15.4.1所有权问题305
15.4.2 stash模板305
15.4.3 stack模板310
15.5.1栈上的字符串313
15.5字符串和整型313
15.5.2整型314
15.6向量315
15.6.1“无穷”向量315
15.6.2集合318
15.6.3关联数组320
15.7模板和继承323
15.7.1设计和效率326
15.7.2防止模板膨胀327
15.8多态性和包容器328
15.9包容器类型331
15.10.1存储分配系统332
15.10函数模板332
15.10.2为tstack提供函数335
15.10.3成员函数模板337
15.11控制实例337
15.12小结339
15.13练习339
第16章 多重继承340
16.1概述340
16.3向上映射的二义性341
16.2子对象重叠341
16.4虚基类342
16.4.1“最晚辈派生”类和虚基初始化343
16.4.2使用缺省构造函数向虚基“警告”345
16.5开销346
16.6向上映射347
16.7避免MI354
16.8修复接口355
16.9小结358
16.10练习359
17.1 C语言的出错处理360
第17章 异常处理360
17.2抛出异常362
17.3异常捕获362
17.3.1 try块362
17.3.2异常处理器363
17.3.3异常规格说明364
17.3.4更好的异常规格说明366
17.3.5捕获所有异常366
17.3.6异常的重新抛出366
17.3.7未被捕获的异常367
17.4清除368
17.5构造函数371
17.6异常匹配375
17.7标准异常376
17.8含有异常的程序设计377
17.8.1何时避免异常377
17.8.2异常的典型使用378
17.9开销380
17.10小结380
17.11练习380
18.2什么是RTTI382
18.1例子——shape382
第18章 运行时类型识别382
18.3语法细节386
18.3.1对于内部类型的typeid()386
18.3.2产生合适的类型名字386
18.3.3非多态类型387
18.3.4映射到中间级387
18.3.5 void指针388
18.3.6用模板来使用RTTI388
18.4引用389
18.5多重继承390
18.6合理使用RTTI391
18.7 RTTI的机制及花费394
18.8创建我们自己的RTTI395
18.9新的映射语法398
18.9.1 static_cast399
18.9.2 const_cast400
18.9.3 reinterpret_cast401
18.10小结403
18.11练习403
附录A 其他性能404
附录B 编程准则409
附录C 模拟虚构造函数415
热门推荐
- 3190082.html
- 1242798.html
- 3091963.html
- 1896448.html
- 1258604.html
- 2983425.html
- 615439.html
- 1966850.html
- 2332693.html
- 2288767.html
- http://www.ickdjs.cc/book_803669.html
- http://www.ickdjs.cc/book_2190221.html
- http://www.ickdjs.cc/book_2278424.html
- http://www.ickdjs.cc/book_3885973.html
- http://www.ickdjs.cc/book_916538.html
- http://www.ickdjs.cc/book_2437754.html
- http://www.ickdjs.cc/book_2810850.html
- http://www.ickdjs.cc/book_3862961.html
- http://www.ickdjs.cc/book_2498188.html
- http://www.ickdjs.cc/book_764625.html