标准C++开发入门与编程实践PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:屈磊,李媛媛编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2007
- ISBN:712105227X
- 页数:477 页
第1篇 C++快速浏览第1章 了解C++语言 3
1.1 编程语言 4
1.1.1 机器语言 4
1.1.2 汇编语言 4
1.1.3 高级语言 5
1.2 C++发展简史 6
1.3 C++开发环境 7
1.3.1 C++编译器 7
1.3.2 C++标准与编译器 8
1.3.3 C++开发环境 9
1.3.4 开发环境的选择 12
第2章 计算机的数值表示 15
2.1 进制系统 16
2.1.1 十进制 16
2.1.2 二进制 16
2.1.3 八进制和十六进制 17
2.2 数值的表示 19
2.2.1 整数的表示 19
2.2.2 负数的表示 19
2.2.3 整数的表示范围 20
2.2.4 浮点数的表示 20
2.2.5 观察数值的二进制表示 22
2.3 字符的表示 23
2.3.1 ASCII码 23
2.3.2 汉字的编码 25
2.3.3 UNICODE编码 26
2.3.4 观察字符的二进制表示 27
2.3.5 字符与字体 29
2.3.6 键盘与输入法 29
第3章 初识C++程序 33
3.1 开始C++编程 34
3.1.1 C++程序的开发流程 34
3.1.2 文件与工程(项目) 35
3.2 在Dev-C++中开发Hello World 37
3.2.1 编辑Hello World 38
3.2.2 编译连接Hello World 38
3.2.3 运行Hello World 39
3.3 在VC 2003中开发Hello World 39
3.3.1 编辑Hello World 40
3.3.2 编译连接Hello World 42
3.3.3 运行Hello World 43
3.4 可能遇到的问题 43
3.5 理解Hello World 45
3.5.1 main函数 45
3.5.2 函数 45
3.5.3 对象 46
3.5.4 头文件 46
3.5.5 名字空间 46
3.5.6 标准输入输出 47
3.5.7 编译器的行为 48
第2篇 C++数据表达第4章 C++基础语法 51
4.1 理解c=2πr 52
4.2 注释 53
4.3 标识符 53
4.3.1 命名规则 53
4.3.2 关键字 54
4.4 数与类型 55
4.5 基本类型 55
4.5.1 整型 56
4.5.2 浮点型 56
4.5.3 布尔型 57
4.5.4 字符型 57
4.5.5 基本类型的字节长度 57
4.6 字面常量 58
4.6.1 整型常量 59
4.6.2 浮点型常量 59
4.6.3 布尔型常量 59
4.6.4 字符型常量 60
4.6.5 字符串常量 60
4.6.6 字面常量的类型 61
4.6.7 变量 62
4.7 语句 62
4.7.1 表达式 62
4.7.2 语句 62
4.7.3 声明语句 62
4.7.4 赋值语句 63
4.7.5 初始化语句 63
4.7.6 使用调试器观察变量值 64
4.8 操作符 67
4.8.1 赋值操作符 67
4.8.2 算术操作符 68
4.8.3 关系操作符 69
4.8.4 逻辑操作符 69
4.8.5 条件操作符 70
4.8.6 位操作符 70
4.8.7 观察二进制位操作 71
4.8.8 复合赋值操作符 72
4.8.9 逗号操作符 73
4.8.10 sizeof操作符 74
4.8.11 typeid操作符 74
4.8.12 操作符的优先级 75
4.9 类型转换 76
4.9.1 隐式转换 76
4.9.2 显式转换 76
4.9.3 算术转换 77
第5章 数组与字符串 79
5.1 数组 80
5.1.1 数组的概念 80
5.1.2 内存中的数组 80
5.1.3 数组的初始化 81
5.1.4 数组元素的访问 82
5.1.5 安全使用数组下标 82
5.1.6 多维数组 83
5.2 字符串 85
5.2.1 传统的字符串 85
5.2.2 安全的使用字符串 86
5.2.3 std∷string 86
第6章 指针与引用 89
6.1 指针 90
6.1.1 指针的概念 90
6.1.2 取址操作符 91
6.1.3 取值操作符 91
6.1.4 深入理解指针 91
6.1.5 指针的比较 92
6.1.6 指针的加减 93
6.1.7 理解指针的运算 93
6.1.8 数组与指针 95
6.1.9 指针的指针 96
6.1.10 指针数组 96
6.2 引用 96
6.2.1 引用的概念 96
6.2.2 理解引用 97
6.3 动态内存分配 98
6.3.1 new 98
6.3.2 delete 98
6.3.3 数组的内存分配 99
第7章 自定义数据类型 101
7.1 结构 102
7.1.1 结构的定义 102
7.1.2 定义结构变量 103
7.1.3 结构的数据成员 103
7.1.4 结构成员的引用 103
7.1.5 结构的初始化 104
7.1.6 位域 105
7.2 联合 106
7.2.1 联合的定义 106
7.2.2 使用联合 107
7.3 枚举 108
7.3.1 枚举定义 108
7.3.2 枚举与int 109
7.4 typedef 109
7.5 数据类型修饰符 110
7.5.1 const 110
7.5.2 volatile 112
第3篇 C++过程设计第8章 C++流程控制 115
8.1 判断 116
8.1.1 if 116
8.1.2 语句块 116
8.1.3 if...else 116
8.1.4 if...else if...else 117
8.1.5 流程图 118
8.2 分支 118
8.3 循环 121
8.3.1 while 121
8.3.2 do...while 124
8.3.3 for 125
8.4 跳转语句 126
8.4.1 嵌套循环 126
8.4.2 使用break中止循环 127
8.4.3 使用break中止分支 128
8.4.4 continue 128
8.4.5 goto 129
8.4.6 合理使用goto语句 130
第9章 C++函数 133
9.1 函数 134
9.1.1 函数 134
9.1.2 函数调用 134
9.1.3 使用调试器观察函数的调用 135
9.1.4 函数参数 137
9.1.5 返回值 138
9.2 函数原型 139
9.2.1 函数原型(function prototype) 139
9.2.2 main()函数 141
9.2.3 定义带参数的main()函数 141
9.2.4 默认参数 142
9.2.5 可变参数 144
9.2.6 内联函数 146
9.3 函数重载 147
9.3.1 函数的重载 147
9.3.2 重载函数的调用 148
9.3.3 安全连接 149
9.3.4 名字重组 150
9.4 递归函数 151
9.4.1 递归函数 151
9.4.2 使用调试器观察函数的递归调用 154
9.5 函数与指针 155
9.5.1 指向函数的指针 155
9.5.2 理解函数指针 156
9.5.3 函数与值传递 157
第10章 预处理 159
10.1 预处理指令 160
10.2 宏指令 161
10.2.1 宏 161
10.2.2 带参数的宏 162
10.2.3 宏与常量、函数 163
10.2.4 #操作符 164
10.2.5 ##操作符 164
10.2.6 取消宏 164
10.2.7 C++预定义宏 165
10.3 条件编译指令 165
10.3.1 #if...#endif 165
10.3.2 #else 166
10.3.3 #elif 166
10.3.4 #if defined和#if!defined 167
10.3.5 #ifdef和#ifndef 167
10.4 文件包含指令 168
10.4.1 #include 168
10.4.2 合理使用头文件 169
10.5 其他标准指令 170
10.5.1 #error 170
10.5.2 #line 171
10.5.3 #pragma 171
第4篇 C++面向对象编程第11章 C++的类 175
11.1 类与对象 176
11.1.1 对象 176
11.1.2 类 176
11.2 类的设计 177
11.2.1 类的定义 177
11.2.2 对象的定义 178
11.2.3 数据成员的访问 178
11.2.4 成员访问控制 178
11.2.5 成员函数 179
11.2.6 内联成员函数 181
11.2.7 成员函数的重载 182
11.2.8 this指针 182
11.2.9 内存中的类 183
11.3 类的讨论 187
11.3.1 类与结构 187
11.3.2 抽象性 187
11.3.3 封装性 188
11.4 类的组合 191
11.4.1 使用类的组合 191
11.4.2 类的声明 193
第12章 类的特殊函数 195
12.1 构造函数 196
12.1.1 构造函数(constructor) 196
12.1.2 带参数的构造函数 197
12.1.3 初始值列表 198
12.2 成员初始值列表 199
12.2.1 使用成员初始值列表 199
12.2.2 对象成员初始化 200
12.3 析构函数 201
12.3.1 析构函数的定义 201
12.3.2 对象成员的构造与析构 202
12.4 特殊构造函数 203
12.4.1 转换构造函数 204
12.4.2 explicit 205
12.4.3 拷贝构造函数 206
12.5 操作符函数 207
12.5.1 操作符重载 208
12.5.2 一元操作符重载 208
12.5.3 二元操作符重载 209
12.5.4 全局操作符的重载 210
12.5.5 可重载的操作符 212
12.5.6 类型转换函数 213
12.6 const与mutable 214
12.6.1 const 214
12.6.2 mutable 216
12.7 友元 217
12.7.1 声明某个函数为友元 217
12.7.2 声明某个类的成员函数为友元 218
12.7.3 声明某个类为友元 219
第13章 继承 221
13.1 类的继承 222
13.1.1 继承的概念 222
13.1.2 类的继承 223
13.1.3 内存中的派生类 224
13.1.4 protected 226
13.1.5 基类访问控制 227
13.2 构造与析构 228
13.2.1 派生类的构造 228
13.2.2 基类的初始化 229
13.2.3 默认构造函数 230
13.2.4 派生类的析构 230
13.3 名字隐藏 231
13.3.1 数据成员的隐藏 231
13.3.2 成员函数的隐藏 232
13.3.3 理解隐藏 233
第14章 多态性 235
14.1 类型转换 236
14.1.1 向上转换 236
14.1.2 向下转换 236
14.2 虚函数与多态 237
14.2.1 类型转换带来的问题 237
14.2.2 虚函数 238
14.2.3 虚函数的填充 239
14.2.4 多态性 239
14.2.5 虚析构函数 240
14.2.6 纯虚函数 241
14.2.7 抽象类 241
14.3 多级继承 242
14.3.1 多级继承的使用 242
14.3.2 虚函数的多次填充 244
14.4 多继承 245
14.4.1 多继承的使用 245
14.4.2 多继承带来的问题 247
14.4.3 虚拟继承 249
第5篇 C++高级特性第15章 模板 253
15.1 函数模板 254
15.1.1 函数模板的概念 254
15.1.2 模板参数与函数参数 255
15.1.3 函数模板的实例化 256
15.1.4 函数模板的重载 256
15.1.5 函数模板的特化 257
15.2 类模板 258
15.2.1 类模板的概念 258
15.2.2 类模板的成员函数 258
15.2.3 包含多个参数的类模板 259
15.2.4 类模板的默认参数 260
第16章 C++异常处理 263
16.1 传统的错误处理 264
16.2 抛出异常 268
16.3 捕获异常 268
16.3.1 使用catch捕获异常 269
16.3.2 捕获不同类型的异常 271
16.3.3 捕获所有的异常 272
16.3.4 在catch块抛出异常 273
16.3.5 未捕获的异常 273
16.3.6 定制terminate()的行为 274
16.4 对抛出异常的声明 275
第17章 名字空间与域 277
17.1 名字空间 278
17.1.1 名字空间定义 278
17.1.2 using声明 279
17.1.3 using指令 279
17.1.4 名字空间的别名 279
17.2 作用域 279
17.3 局部作用域 280
17.3.1 局部作用域的概念 280
17.3.2 for语句的作用域 280
17.3.3 case语句块的作用域 280
17.3.4 函数的作用域 281
17.4 局部变量的存储类型 281
17.4.1 自动存储类型 281
17.4.2 寄存器存储类型 282
17.4.3 静态存储类型 283
17.5 名字空间域 284
17.5.1 全局域 284
17.5.2 外部存储类型 284
17.5.3 文件域 286
17.5.4 名字空间域 286
17.6 类域 286
17.6.1 类域的概念 286
17.6.2 static数据成员 288
17.6.3 static成员函数 290
17.7 作用域的嵌套 291
17.7.1 语句块的嵌套 291
17.7.2 名字空间的嵌套 292
17.7.3 类的嵌套 292
17.7.4 在语句块中定义类 293
17.7.5 嵌套带来的隐藏 293
17.8 对象的生命周期 293
第18章 运行时类型信息 297
18.1 动态类型的获取 298
18.1.1 typeid关键字 298
18.1.2 type_info 298
18.1.3 打开RTTI开关 299
18.1.4 获取对象的动态类型 300
18.2 C++风格的类型转换 301
18.2.1 动态类型转换dynamic_cast 301
18.2.2 静态类型转换static_cast 303
18.2.3 再解释类型转换reinterpret_cast 304
18.2.4 常类型转换const_cast 304
第6篇 C++编程实践第19章 C++标准库 307
19.1 C++标准库的组成 308
19.2 字符串库<string> 309
19.2.1 字符串的构造与赋值 309
19.2.2 字符串的连接 309
19.2.3 字符串的比较 309
19.2.4 字符串的下标 310
19.2.5 子串 310
19.2.6 字符串的查找 311
19.2.7 string与C-style字符串 311
19.2.8 空字符串 312
19.3 复数类<complex> 313
19.3.1 复数的构造 313
19.3.2 复数的四则运算 313
19.3.3 复数的操作函数 313
19.4 异常类<stdexcept> 314
19.5 C标准库 316
19.5.1 assert宏 317
19.5.2 类型函数 318
19.5.3 数学函数 318
19.5.4 类型转换函数 319
19.5.5 随机数函数 319
19.5.6 可变参数处理 320
19.5.7 内存操作函数 321
19.5.8 系统控制函数 322
19.5.9 字符串处理函数 323
19.5.10 时间处理函数 324
第20章 C++流 327
20.1 输入输出流<iostream> 328
20.1.1 输入输出流 328
20.1.2 流操作符 328
20.1.3 格式化输出函数 329
20.1.4 格式操纵符 330
20.1.5 流的输出 332
20.1.6 缓冲输出 332
20.1.7 流的输入 333
20.1.8 状态标志 335
20.2 标准输入输出流 336
20.3 文件流<fstream> 337
20.3.1 文件的打开和关闭 338
20.3.2 二进制输入输出 340
20.3.3 定位文件位置 341
20.4 字符串流<sstream> 342
20.4.1 ostringstream 343
20.4.2 istringstream 343
20.4.3 stringstream 344
第21章 STL容器 345
21.1 标准模板库 346
21.1.1 STL的概念 346
21.1.2 STL的组成 348
21.1.3 STL的使用实例 348
21.2 容器 350
21.2.1 STL容器 350
21.2.2 容器的模板参数 351
21.2.3 容器的比较 352
21.2.4 容器的赋值和交换 352
21.2.5 operator[] 352
21.2.6 指示器的获取 352
21.2.7 元素的迭代访问 353
21.2.8 容器的尺寸 353
21.3 向量 353
21.3.1 向量的构造 354
21.3.2 向量元素的访问 354
21.3.3 向量元素的添加 355
21.3.4 向量元素的删除 355
21.4 列表 355
21.4.1 列表的构造 356
21.4.2 列表元素的访问 356
21.4.3 列表元素的添加 356
21.4.4 列表元素的删除 356
21.5 双端队列 357
21.5.1 双端队列的构造 357
21.5.2 双端队列元素的访问 357
21.5.3 双端队列元素的添加 357
21.5.4 双端队列元素的删除 357
21.6 容器适配器 358
21.6.1 栈 358
21.6.2 队列 358
21.6.3 优先级队列 359
21.7 映射 360
21.7.1 映射的构造 360
21.7.2 映射元素的访问 361
21.7.3 映射元素的添加 362
21.7.4 映射元素的删除 362
21.7.5 映射元素的查找 362
21.7.6 多重映射 362
21.8 集合 363
21.8.1 集合的构造 363
21.8.2 集合元素的访问 364
21.8.3 集合元素的添加 364
21.8.4 集合元素的删除 364
21.8.5 集合元素的查找 364
21.8.6 多重集合 365
21.9 位集合 365
21.9.1 位集合的概念 366
21.9.2 位集合的构造 366
21.9.3 位集合的输出 366
21.9.4 位元素的操作 366
21.9.5 位集合的赋值与转换 367
21.9.6 位集合的尺寸 367
21.9.7 位集合的比较 367
21.9.8 位集合的位操作 368
第22章 泛型算法 369
22.1 指示器 370
22.1.1 指示器的获取 370
22.1.2 指示器的数据类型 370
22.1.3 指示器的迭代 370
22.1.4 迭代的方向 372
22.1.5 指示器的迭代类型 372
22.2 指示器适配器 373
22.2.1 反向指示器 373
22.2.2 插入型指示器 374
22.3 函数对象 374
22.4 算法 376
22.4.1 查找算法 377
22.4.2 排序与通用整序算法 378
22.4.3 删除和替换算法 379
22.4.4 排列组合算法 380
22.4.5 算术算法 380
22.4.6 生成和异变算法 381
22.4.7 关系算法 381
22.4.8 集合算法 382
22.4.9 堆算法 383
第23章 C++实践指南 385
23.1 提高代码的可读性 386
23.1.1 不要吝啬注释 386
23.1.2 不要吝啬空白 388
23.1.3 爱惜标识符 390
23.1.4 合理使用操作符函数 391
23.1.5 合理使用别名 391
23.1.6 合理使用跳转语句 392
23.2 编写笨的程序 394
23.2.1 书写正常的表达式 394
23.2.2 使用bool类型进行判断 395
23.2.3 保证对象的初始化 396
23.2.4 尽量多写一些if 397
23.2.5 不要再发明string类 398
23.2.6 使用标准C++ 399
23.3 合理使用内存 399
23.3.1 C++中的内存 399
23.3.2 内存的非法访问 400
23.3.3 内存泄漏 402
23.3.4 内存泄漏的检测 404
23.3.5 CMemory State 405
23.3.6 智能指针(auto_ptr) 406
23.4 合理使用OOP 409
23.4.1 合理封装对象 409
23.4.2 对象拷贝的产生 409
23.4.3 对象的初始化 412
23.4.4 对象的赋值与初始化 413
23.4.5 合理使用继承与组合 414
23.4.6 合理使用多继承 416
23.4.7 合理使用虚函数和虚基类 418
23.5 不要教条主义 420
第24章 综合实践:《西游记》游戏模拟 423
24.1 功能分析 424
24.1.1 游戏运行界面 424
24.1.2 游戏角色划分 424
24.1.3 战斗的形成 425
24.1.4 兵器的分配 425
24.2 设计思路 426
24.2.1 使用类和继承完成角色的设计 426
24.2.2 使用文件流加载角色列表 426
24.2.3 使用虚函数实现角色的多态 427
24.2.4 使用操作符的重载 429
24.2.5 使用异常处理提高程序的鲁棒性 429
24.2.6 使用RTTI获取角色的类别 430
24.2.7 使用STL容器管理角色 431
24.2.8 使用STL容器管理兵器 432
24.2.9 使用泛型算法完成查找与排序 433
24.2.10 使用循环和判断完成主控逻辑 435
24.3 实现详解 435
24.3.1 Weapon 436
24.3.2 Actor 438
24.3.3 Monk 443
24.3.4 ActorPowersAccumulater 446
24.3.5 God 446
24.3.6 Monster 448
24.3.7 FollowerMonster 449
24.3.8 GameException 450
24.3.9 Game 453
24.3.10 main()函数 468
24.4 运行并观察游戏 469
24.4.1 actors.ini 469
24.4.2 运行程序 472
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《全国学前教育专业(新课程标准)“十三五”规划教材 简谱手风琴教程 第2版》(中国)杨克勤,王宝庆 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017