C++自学通PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:(美)(J.利伯蒂)(Jesse Liberty)著;路明等译
- 出 版 社:机械工业出版社;西蒙与舒斯特国际出版公司
- 出版年份:1997
- ISBN:711106013X
- 页数:339 页
译者序 1
前言 1
第一部分 介绍C++ 1
第1章 入门 1
1.1 为什么C++是最佳选择 1
目录 1
1.1.1 过程化、结构化和面向对象的程序设计 2
1.1.2 C++和面向对象的程序 2
1.1.4 C++不仅仅是更好的C语言 3
1.1.5 是否应当首先学习C语言 3
1.1.3 C++是如何发展起来的 3
1.2 为编程作准备 4
1.3 区分C++、ANSI C++、Windows和其他领域的一些概念 4
1.4 编译和链接源代码 5
1.4.1 在集成开发环境中进行编译 5
1.4.2 链接程序 5
1.5 开发过程 5
1.6 HELLO.CPP——第一个C++程序 6
1.7 编译时出错 8
1.8 小结 8
1.9 问答 8
2.1.1 逐个字符检查#Include语句 10
2.1 一个简单程序的构成 10
第2章 C++程序的构成 10
2.1.2 逐行分析 11
2.2 注释 11
2.2.1 注释的类型 11
2.2.2 使用注释 12
2.3 功能 12
2.4 小结 15
2.5 问与答 15
第3章 变量与常量 16
3.1 什么是变量 16
3.1.1 分配内存空间 16
3.1.3 signed与unsigned 17
3.1.2 整数的大小 17
3.1.4 基本变量类型 18
3.2 定义一个变量 18
3.2.1 区分大小写 19
3.2.2 关键字 19
3.3 一次说明多个变量 20
3.4 给变量赋值 20
3.5 typedef语句 21
3.6 何时使用short和long 22
3.6.1 无符号整数的溢出 22
3.7.1 数值常量 23
3.7 常量 23
3.6.2 有符号整数的溢出 23
3.7.2 符号常量 24
3.8 杖举常量 24
3.9 小结 25
3.10 问与答 25
第4章 表达式与语句 26
4.1 语句 26
4.1.1 空白 26
4.1.2 复合语句 26
4.2 表达式 27
4.3.2 数学运算符 28
4.3 运算符 28
4.3.1 赋值运算符 28
4.4 组合使用赋值语句和数学运算符 29
4.5 增量运算和减量运算 29
4.6 优先级 31
4.7 括号嵌套 31
4.8 “真”与“假”的实质 32
4.9 关系运算符 32
4.10 if语句 33
4.10.1 else子句 33
4.10.2 高级if语句 34
4.11 在嵌套if语句中使用花括号 36
4.12 逻辑运算符 38
4.12.1 逻辑与 38
4.12.2 逻辑或 38
4.12.3 逻辑非 38
4.13 关系优先级 39
4.14 深入讨论逻辑值“真”与“假” 39
4.15 小结 39
4.16 问与答 40
第5章 功能 41
5.1 什么是功能 41
5.2.1 功能的说明 42
5.2 说明并定义功能 42
5.2.2 功能的定义 43
5.3 局部变量 45
5.4 全局变量 47
5.5 功能的语句 47
5.6 功能的实参 47
5.7 形参是局部变量 47
5.8 返回值 49
5.9 缺省形参 50
5.10 功能的重载 52
5.10.1 深入研究功能的机理 53
5.12 问与答 55
5.10.2 栈与功能 55
5.11 小结 55
第二部分 类 57
第6章 基本类 57
6.1 创建新类型 57
6.1.1 什么是类型 57
6.1.2 为什么要创建一个新类型 57
6.2 类与成员 58
6.2.1 类的说明 58
6.2.4 类与对象 59
6.3 访问类的成员 59
6.2.3 定义一个对象 59
6.2.2 有关命名的约定 59
6.4 私有成员和公有成员 60
6.5 类方法的实现 61
6.6 构造函数和析构函数 63
6.6.1 缺省构造函数 64
6.6.2 编译程序提供的构造函数 64
6.7 小结 66
6.8 问与答 67
7.1 const型成员函数 68
7.2 接口与方法 68
第7章 深入了解类 68
7.3 在何处放置类的说明以及方法的定义 69
7.4 内联实现 70
7.5 以其他的类作为数据成员的类 72
7.6 小结 75
7.7 问与答 75
第8章 高级程序流程控制 77
8.1 循环 77
8.1.1 goto语句——循环语句的起源 77
8.1.2 为什么现在不使用goto语句 78
8.2 while循环 78
8.2.1 更加复杂的while语句 79
8.2.2 continue和break 80
8.2.3 while(1)循环 82
8.3 do...while循环 83
8.4 for循环 84
8.4.1 高级for循环 86
8.4.2 空的for循环 88
8.4.3 循环嵌套 89
8.5 switch语句 90
8.6 小结 91
8.7 问与答 91
第9章 指针 93
9.1 什么是指针 93
第三部分 内存管理 93
9.1.1 在一个指针中存储地址值 95
9.1.2 指针名 96
9.1.3 目标访问运算符 96
9.1.4 指针、地址和变量 96
9.1.5 使用指针处理数据 97
9.1.6 检查地址值 98
9.2 为什么使用指针 99
9.3 栈和自由存储区 100
9.3.1 new 101
9.3.2 delete 101
9.4 小结 103
9.3.3 内存丢失 103
9.5 问与答 104
第10章 高级指针 105
10.1 在自由存储区内创建对象 105
10.2 删除对象 105
10.3 访问数据成员 106
10.4 自由存储区中的成员数据 107
10.5 this指针 109
10.6 this指针的用途 110
10.7 迷途指针或悬浮指针 110
10.8.1 const型指针和const型成员函数 111
10.8 const型指针 111
10.8.2 const型this指针 113
10.9 小结 113
10.10 问与答 113
第11章 引用 114
11.1 什么是引用 114
11.2 说明一个引用 114
11.3 对引用使用取址运算符 115
11.4 什么可以被引用 117
11.5 空指针和空引用 118
11.6 通过引用传递的方式给函数传递实参 118
11.6.1 使用指针使swap()函数正常工作 119
11.6.2 使用引用实现swap() 120
11.7 理解函数的域名和原型 122
11.8 返回多个值 122
11.9 小结 125
11.10 问与答 125
第12章 高级引用和指针 126
12.1 使用引用传递的方式以提高效率 126
12.2 使用引用代替指针 131
12.3 如何确定使用引用还是指针 133
12.4 不要返回一个非作用域中的目标对象的引用 133
12.5 返回一个在堆中的对象的引用 134
12.7 小结 136
12.6 指针的传递 136
12.8 问与答 137
第四部分 功能强大的工具 139
第13章 高级函数 139
13.1 重载成员函数 139
13.2 使用缺省值 141
13.4 缺省构造函数 143
13.7 复制构造函数 143
13.3 在使用缺省值或重载函数之间选择 143
13.5 重载函数 144
13.6 初始化对象 144
13.8 小结 148
13.9 问与答 149
第14章 运算符重载 150
14.1 运算符重载 150
14.1.1 定义一个增量函数 151
14.1.2 重载后置运算符 152
14.1.3 前置与后置的区别 152
14.1.4 operator+ 154
14.1.5 重载operator+ 156
14.1.7 何时需要重载 157
14.1.8 operator= 157
14.1.6 运算符重载的限制 157
14.2 转换运算符 159
14.3 小结 163
14.4 问与答 163
第15章 数组 164
15.1 什么是数组 164
15.2 数组元素 164
15.3 数组越界 166
15.4 界桩错误 166
15.5 初始化数组 166
15.6 对象数组 167
15.7 多维数组 168
15.8 关于内存 170
15.9 指针数组 170
15.10 说明自由存储区中的数组 172
15.11 指向数组的指针和指针数组 172
15.12 指针与数组名 173
15.13 删除自由存储区中的数组 174
15.14 char型数组 175
15.15 strcpy()和strnepy() 176
15.16 串类 178
15.17 小结 178
15.18 问与答 178
16.1.1 继承与派生 179
16.1 什么是继承 179
第五部分 继承和多态 179
第16章 继承 179
16.1.2 动物王国 180
16.1.3 派生的语法 180
16.2 私有访问权限和保护型访问权限 182
16.3 构造函数和析构函数 184
16.4 重置函数 190
16.4.1 重载与重置 192
16.4.2 隐藏基类方法 192
16.4.3 调用基类方法 193
16.6 问与答 195
16.5 小结 195
第17章 多态与派生类 196
17.1 虚方法 196
17.1.1 虚成员函数的工作机理 199
17.1.2 不能用基类指针调用基类中不存在的方法 200
17.1.3 对象分离 201
17.1.4 虚析构函数 203
17.1.5 虚复制构造函数 203
17.1.6 虚方法的开销 206
17.2 小结 206
17.3 问与答 206
18.1 单重继承的问题 208
第18章 高级多态 208
18.2 抽象数据类型 212
18.2.1 纯虚函数 215
18.2.2 抽象的复杂层次结构 219
18.2.3 如何决定是否使用抽象类型 223
18.3 小结 223
18.4 问与答 224
第19章 链表 225
19.1 链表和其他结构 225
19.2 实例研究 225
19.3 组成部件 226
19.4 学会使用面向对象的方式进行程序设计 234
19.5 小结 234
19.6 问与答 235
第六部分 特别主题 237
第20章 特殊的类与函数 237
20.1 静态成员数据 237
20.2 静态成员函数 239
20.3 包容 241
20.3.1 访问被包容类的成员 246
20.3.4 值复制与引用复制 247
20.4 友元类 247
20.3.3 包容的开销 247
20.3.2 对被包容成员的选择性访问 247
20.5 友元函数 248
20.6 函数指针 248
20.6.1 速记调用法 251
20.6.2 函数指针数组 251
20.6.3 把函数指针传递给另一个函数 253
20.6.4 对函数指针使用typedef 255
20.7 成员函数指针 257
20.8 小结 261
20.9 问与答 262
第21章 预处理程序 263
21.1 预处理程序和编译程序 263
21.2 查看中间格式 263
21.3 使用#define 263
21.3.1 将#define用于常量 264
21.3.2 将#define用于测试 264
21.3.3 #velse预编译命令 264
21.4 包含与包含警戒 265
21.4.3 条件编译 266
21.5 函数宏 266
21.4.2 取消定义 266
21.4.1 在命令行进行定义 266
21.5.1 为什么要使用括号 267
21.5.2 宏、函数和模板 268
21.6 串的处理 269
21.6.1 串转换 269
21.6.2 连接 269
21.7 预定义宏 270
21.8 小结 281
21.9 问与答 282
22.2 模拟一个报警系统 283
22.1 开发过程 283
第22章 面向对象的分析和设计 283
第七部分 高级主题 283
22.2.1 概念表达 284
22.2.2 分析需求 284
22.2.3 高层设计和低层设计 284
22.2.4 其他对象 285
22.2.5 类的设计 285
22.2.6 如何报警 286
22.2.7 事件循环 286
22.3 实例研究:PostMaster 288
22.3.1 权衡并取舍 289
22.3.2 功能分解并逐步求精 289
22.3.3 信息格式 289
22.3.5 有根与无根的层次结构 290
22.3.4 最初的类的设计 290
22.3.6 设计接口 292
22.3.7 创建一个原型 293
22.3.8 80/80法则 293
22.3.9 设计PostMasterMessage类 293
22.3.10 应用程序接口 294
22.3.11 分组进行 295
22.3.12 继续进行设计 295
22.3.13 使用驱动程序 296
22.4 小结 303
22.5 问与答 303
23.2 参数化类型 304
23.3 模板的定义 304
第23章 模板 304
23.1 什么是模板 304
23.4 使用模板项 312
23.5 标准模板库 319
23.6 小结 320
23.7 问与答 320
第24章 异常和出错处理 321
24.1 程序死区、错误和损坏的代码 321
24.2 异常 322
24.3.3 通过引用传递和多态的方式处理异常 327
24.3.2 多于一个的catch语句 327
24.3.1 处理异常 327
24.3 使用try语句块和catch语句块 327
24.4 以下的步骤 332
24.5 风格 332
24.5.1 花括号 332
24.5.2 过长的行 332
24.5.3 switch语句 332
24.5.4 程序文本 333
24.5.5 标识符 333
24.5.6 标识符的拼写和大写 334
24.5.7 注释 334
24.5.8 访问权限 334
24.6 后记 335
24.6.2 所需的读物 335
24.6.1 到哪里获得帮助和建议 335
24.5.9 类的定义 335
24.5.12 const 335
24.5.11 asset() 335
24.5.10 include文件 335
24.6.3 杂志 336
24.6.4 保持联系 336
第八部分 附录 337
附录A 运算符优先级 337
附录B C++关键字 338
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《匹克吉他自学教程》李成福编著 2017
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《吉他自学一本通 吉他弹唱·独奏·乐理教程》陈飞,伊家林 2020
- 《英语自学进阶教程全6册 2》爱尔兰迪尔德丽出版社著 2019
- 《高考英语自学丛书 概要写作》祝嘉 2018
- 《英语自学进阶教程全6册 5》爱尔兰迪尔德丽出版社著 2019
- 《30天英语自学轻松课堂》薛锦著 2018
- 《电鼓自学入门》(德)赫布·克劳斯著 2018