C++从入门到精通 项目案例版PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:明日学院编著
- 出 版 社:北京:中国水利水电出版社
- 出版年份:2017
- ISBN:9787517057796
- 页数:597 页
第1章 初识C+ 1
1.1 C++历史背景 1
1.1.1 20世纪最伟大的发明——计算机 1
1.1.2 C+++发展历程 2
1.1.3 C+++中的杰出人物 2
1.2 Visual Studio 2010集成编译环境 3
1.2.1 安装Visual Studio 2010 4
1.2.2 卸载Visual Studio 2010 7
1.2.3 使用Visual Studio 2010创建一个C+++控制台程序 8
1.2.4 编写第一个C+++程序“HelloWorld!!” 11
1.3 如何使用本书代码 13
1.4 本章总结 14
第2章 与计算机交流的手段——数据的计算、输入与输出 15
2.1 C++语言基本要素 15
2.1.1 标识符 15
2.1.2 关键字 15
2.1.3 常量 16
2.1.4 变量 17
2.2 数据类型 17
2.2.1 数值类型 17
2.2.2 字符类型 19
2.2.3 布尔类型 19
2.3 数据输入与输出 19
2.3.1 格式输出函数 19
2.3.2 格式输入函数 22
2.3.3 标准输出输入流 26
2.3.4 流操作的控制 28
2.4 运算符 32
2.4.1 算术运算符 32
2.4.2 关系运算符 33
2.4.3 逻辑运算符 34
2.4.4 赋值运算符 35
2.4.5 位运算符 36
2.4.6 移位运算符 37
2.4.7 sizeof运算符 39
2.4.8 条件运算符 39
2.4.9 逗号运算符 40
2.5 结合性和优先级 40
2.6 表达式 41
2.6.1 算术表达式 42
2.6.2 关系表达式 42
2.6.3 条件表达式 42
2.6.4 赋值表达式 42
2.6.5 逻辑表达式 42
2.6.6 逗号表达式 43
2.6.7 表达式中的类型转换 44
2.7 语句 46
2.8 左值与右值 47
2.9 上机实践 48
2.9.1 计算三角形周长 48
2.9.2 计算三角形的边长 48
2.10 本章总结 49
第3章 重要的逻辑工具——判断与循环 50
3.1 条件判断 50
3.1.1 if语句 51
3.1.2 if-else语句 52
3.1.3 嵌套的if-else语句 54
3.1.4 使用条件运算符进行判断 57
3.1.5 switch语句 58
3.2 循环语句 62
3.2.1 while循环 62
3.2.2 do...while循环 64
3.2.3 while与do...while比较 66
3.2.4 for循环 67
3.3 循环控制 71
3.3.1 控制循环的变量 71
3.3.2 break语句 72
3.3.3 continue语句 73
3.3.4 goto语句 74
3.4 循环嵌套 75
3.5 上机实践 77
3.5.1 图书的位置 77
3.5.2 输出闰年 78
3.6 本章总结 79
第4章 程序的模块——函数 80
4.1 函数概述 80
4.1.1 函数的结构 80
4.1.2 函数的声明和使用 80
4.2 函数参数 82
4.2.1 形参与实参 82
4.2.2 默认参数 82
4.3 函数的返回值 83
4.3.1 返回值 83
4.3.2 空函数 84
4.4 函数的递归调用 84
4.5 重载函数 88
4.6 生存周期与作用域 89
4.6.1 变量的作用域 89
4.6.2 变量的生存周期 91
4.6.3 变量的储存方式 91
4.7 名称空间 95
4.8 上机实践 97
4.8.1 等差数列的和 97
4.8.2 提款机的记录 97
4.9 本章总结 98
第5章 内存访问——指针和引用 99
5.1 指针 99
5.1.1 变量与指针 99
5.1.2 指针运算符和取地址运算符 102
5.1.3 指针运算 103
5.1.4 空类型指针与指向空的指针 105
5.1.5 指针常量与指向常量的指针 106
5.2 指针与函数 107
5.2.1 指针传递参数 107
5.2.2 函数指针 109
5.2.3 空类型指针与函数 110
5.2.4 指针与函数返回值 111
5.3 指针与安全 112
5.3.1 内存的分配方式 112
5.3.2 内存安全 114
5.4 引用 117
5.4.1 引用的概述 117
5.4.2 右值引用 118
5.5 函数与引用 119
5.5.1 使用引用传递参数 119
5.5.2 指针与引用 120
5.5.3 右值引用传递参数 122
5.6 上机实践 123
5.6.1 水桶的平衡 123
5.6.2 分步计算 123
5.7 本章总结 124
第6章 一即是全,全即是一——数组和字符串 125
6.1 一维数组 125
6.1.1 一维数组的声明 125
6.1.2 一维数组的元素 125
6.1.3 一维数组的初始化 126
6.2 二维数组 127
6.2.1 二维数组的声明 127
6.2.2 二维数组元素的引用 128
6.2.3 二维数组的初始化 128
6.3 字符数组 130
6.3.1 声明一个字符数组 130
6.3.2 字符数组赋值方式 130
6.3.3 字符数组的一些说明 130
6.3.4 字符串和字符串结束标志 131
6.3.5 字符串处理函数 132
6.4 指针与数组 137
6.4.1 数组的存储 137
6.4.2 指针与一维数组 137
6.4.3 指针与二维数组 140
6.4.4 指针与字符数组 143
6.4.5 数组做函数参数 145
6.4.6 数组的动态分配 147
6.5 字符串类型 148
6.5.1 使用本地字符串类型string 148
6.5.2 连接string字符串 149
6.5.3 比较string字符串 150
6.5.4 string字符串和数组 151
6.6 上机实践 152
6.6.1 名字排序 152
6.6.2 查找数字 153
6.7 本章总结 153
第7章 面向对象——类的构造 154
7.1 学会面向对象的编程思想 154
7.1.1 面向对象与面向过程编程 155
7.1.2 面向对象编程 156
7.1.3 面向对象的特点 156
7.2 类与对象 157
7.2.1 类的声明与定义 157
7.2.2 头文件与源文件 159
7.2.3 类的实现 159
7.2.4 对象 163
7.2.5 访问类的成员 164
7.3 类的构造函数 165
7.3.1 构造函数的概念 165
7.3.2 构造函数的定义和使用 165
7.4 类的析构函数 168
7.5 类的静态成员 169
7.6 对象的指针 172
7.7 this指针 174
7.8 对象与复制 175
7.9 const对象 177
7.10 对象数组 179
7.11 重载运算符 182
7.11.1 算术运算符的重载 182
7.11.2 比较运算符重载 184
7.12 上机实践 185
7.12.1 用户与留言 185
7.12.2 挑选硬盘 186
7.13 本章总结 187
第8章 类的继承和派生 188
8.1 继承 188
8.1.1 类的继承 188
8.1.2 类成员的可访问性 190
8.1.3 继承后可访问性 192
8.1.4 构造函数访问顺序 194
8.1.5 子类显式调用父类构造函数 195
8.1.6 子类隐藏父类的成员函数 197
8.1.7 嵌套类 200
8.2 多重继承 201
8.2.1 多重继承的定义 201
8.2.2 二义性 203
8.2.3 多重继承的构造顺序 203
8.3 多态 205
8.3.1 虚函数概述 205
8.3.2 利用虚函数实现动态绑定 206
8.3.3 虚继承 207
8.4 抽象类 209
8.4.1 纯虚函数 209
8.4.2 实现抽象类中的成员函数 211
8.5 友元 212
8.5.1 友元概述 212
8.5.2 友元类 214
8.6 上机实践 215
8.6.1 学生类的设计 215
8.6.2 等边多边形 216
8.7 本章总结 217
第9章 量身定做——模板 218
9.1 函数模板 218
9.1.1 函数模板的定义 218
9.1.2 函数模板的作用 219
9.1.3 重载函数模板 221
9.2 类模板 222
9.2.1 类模板的定义与声明 222
9.2.2 简单类模板 224
9.2.3 默认模板参数 224
9.2.4 为具体类型的参数提供默认值 225
9.2.5 有界数组模板 226
9.3 模板的使用 228
9.3.1 定制类模板 228
9.3.2 定制类模板成员函数 230
9.3.3 模板部分定制 231
9.4 链表类模板 233
9.4.1 链表 233
9.4.2 链表类模板说明 235
9.4.3 类模板的静态数据成员 238
9.5 上机实践 239
9.5.1 除法函数模板 239
9.5.2 取得数据间最大值 239
9.6 本章总结 240
第10章 快刀斩乱麻——代码整理 241
10.1 结构体 241
10.2 数据类型别名——typedef 241
10.3 枚举类型 244
10.4 类型推导 247
10.5 异常处理 249
10.5.1 抛出异常 249
10.5.2 异常捕获 251
10.5.3 异常匹配 254
10.5.4 标准异常 255
10.6 宏定义 256
10.7 上机实践 259
10.7.1 扑克牌的牌面 259
10.7.2 使用参数宏求圆面积 260
10.8 本章总结 261
第11章 STL标准模板库 262
11.1 容器 262
11.1.1 容器与容器适配器 262
11.1.2 迭代器与容器 263
11.1.3 vector容器 263
11.1.4 list容器 267
11.1.5 关联容器 269
11.2 算法 271
11.2.1 for each函数 271
11.2.2 fill函数 272
11.2.3 sort函数 273
11.2.4 transform函数 274
11.3 lambda表达式 275
11.4 上机实践 279
11.4.1 迭代输出信息 279
11.4.2 计算平均值 279
11.5 本章总结 279
第12章 内存与硬盘的交流——文件操作 280
12.1 文件流 280
12.1.1 C+++中的流类库 280
12.1.2 类库的使用 281
12.1.3 ios类中的枚举常量 281
12.1.4 流的输入/输出 281
12.2 文件的打开 282
12.2.1 打开方式 282
12.2.2 默认打开模式 283
12.2.3 打开文件的同时创建文件 284
12.3 文件的读写 285
12.3.1 文件流 285
12.3.2 写文本文件 287
12.3.3 读取文本文件 288
12.3.4 二进制文件的读写 289
12.3.5 实现文件复制 290
12.4 文件指针移动操作 291
12.4.1 文件错误与状态 292
12.4.2 文件的追加 292
12.4.3 文件结尾的判断 293
12.4.4 在指定位置读写文件 295
12.5 文件和流的关联和分离 296
12.6 删除文件 298
12.7 上机实践 298
12.7.1 记录类的信息 298
12.7.2 读取文件信息 299
12.8 本章总结 300
第13章 综合实战——商品销售系统 301
13.1 商品类的设计 301
13.2 销售系统的设计 302
13.3 销售记录功能 313
13.4 本章总结 318
第14章 综合实战——吃豆子游戏 319
14.1 Windows窗口应用程序 319
14.1.1 建立Windows窗口应用程序 319
14.1.2 WinMain函数 321
14.1.3 Windows消息循环 324
14.1.4 常用绘图GDI 327
14.2 制作PacMan 330
14.2.1 PacMan程序框架初步分析 330
14.2.2 碰撞检测的实现 333
14.2.3 地图类的设计 337
14.2.4 数据更新 339
14.2.5 绘图 346
14.2.6 客户端设计 351
14.3 本章总结 357
第15章 坦克动荡游戏 358
15.1 开发背景 358
15.2 系统功能设计 358
15.2.1 系统功能结构 358
15.2.2 系统业务流程 359
15.3 创建项目 360
15.3.1 开发环境要求 360
15.3.2 游戏所用资源 360
15.3.3 创建新项目 361
15.4 创建游戏框架 366
15.4.1 建立游戏主窗口 367
15.4.2 游戏核心框架类的建立 371
15.4.3 增加鼠标响应 372
15.4.4 在游戏窗口中使用游戏核心功能 373
15.5 绘图库GDIPlus的使用 375
15.5.1 绘图库的引入 376
15.5.2 绘图库的初始化 376
15.5.3 在屏幕上“画”游戏帧数 376
15.5.4 引入图片资源 379
15.5.5 画出游戏菜单背景 380
15.6 游戏功能的详细设计及使用举例 382
15.6.1 游戏对象概述 382
15.6.2 游戏中可移动对象设计 382
15.6.3 设计游戏菜单 389
15.6.4 单人游戏与双人对战 394
15.6.5 设计坦克及子弹(要求复制源文件) 397
15.6.6 画出移动的坦克 400
15.6.7 自动寻路与碰撞检测 403
15.6.8 画出游戏地图,控制运行轨迹 405
15.7 实现完整的游戏 409
15.7.1 引进所有游戏对象声明 411
15.7.2 声明核心对象之CGame类的公有方法 412
15.7.3 声明私有方法 412
15.7.4 实现公有方法 416
15.7.5 实现初始化方法 417
15.7.6 实现游戏逻辑处理方法 421
15.7.7 实现游戏绘图处理方法 426
15.7.8 实现辅助方法 429
15.7.9 在主窗口中完成全部游戏功能 431
15.8 本章总结 434
第16章 快乐吃豆子游戏 435
16.1 开发背景 435
16.2 系统功能设计 435
16.2.1 系统功能结构 435
16.2.2 业务流程图 436
16.3 创建项目 437
16.3.1 开发环境要求 437
16.3.2 使用Visual Studio 2015创建Win32窗口程序 437
16.3.3 制作游戏窗口 440
16.3.4 建立游戏循环 442
16.4 使用GDI绘图 443
16.4.1 画点 443
16.4.2 画线段 444
16.4.3 画矩形 446
16.4.4 画圆 447
16.4.5 画弧形 448
16.4.6 综合应用一:画玩家 450
16.5 地图及关卡制作 454
16.5.1 地图类设计 454
16.5.2 第一关地图的设计 455
16.5.3 第二关地图的设计 456
16.5.4 第三关地图的设计 456
16.5.5 地图类的实现 456
16.5.6 游戏隐藏后门的实现 457
16.5.7 第一关地图的实现 459
16.5.8 第二关地图的实现 460
16.5.9 第三关地图的实现 462
16.5.10 使用地图 463
16.6 游戏可移动对象设计与实现 465
16.6.1 可移动对象的设计 465
16.6.2 玩家对象的设计 466
16.6.3 敌军对象的设计 467
16.6.4 可移动对象的实现 468
16.6.5 玩家对象的实现 472
16.6.6 敌军对象的实现 475
16.6.7 完成整个游戏 480
16.7 本章总结 485
第17章 365系统加速器 486
17.1 开发背景 486
17.2 系统功能设计 486
17.2.1 系统功能结构 486
17.2.2 业务流程图 487
17.3 系统开发环境要求 488
17.4 关键技术 488
17.4.1 自绘标题栏 488
17.4.2 获得任务列表 494
17.4.3 获得正在运行的进程 496
17.4.4 为列表视图控件关联右键菜单 497
17.4.5 清空回收站 498
17.4.6 清空“运行”中的历史记录 498
17.4.7 清空IE历史记录 499
17.4.8 调用控制面板工具 499
17.5 主窗体设计 500
17.5.1 主窗体界面预览 500
17.5.2 主窗体界面布局 500
17.5.3 实现子窗口切换功能 501
17.5.4 绘制主窗口背景图片 503
17.6 控制面板操作模块 504
17.6.1 控制面板界面预览 504
17.6.2 控制面板界面布局 505
17.6.3 实现控制面板各部分功能 505
17.7 磁盘空间整理模块 508
17.7.1 磁盘空间整理模块概述 508
17.7.2 磁盘空间整理界面布局 508
17.7.3 功能实现 509
17.8 垃圾文件清理模块 512
17.8.1 垃圾文件清理模块概述 512
17.8.2 垃圾文件清理模块界面布局 513
17.8.3 实现垃圾文件清理功能 513
17.9 系统任务管理模块 516
17.9.1 概述 516
17.9.2 系统任务管理模块界面布局 516
17.9.3 进程与窗口管理 517
17.10 本章总结 520
第18章 Q友 521
18.1 开发背景 521
18.2 系统功能设计 521
18.2.1 系统功能结构 521
18.2.2 业务流程图 522
18.3 系统开发环境要求 523
18.4 Q友软件概述 523
18.4.1 系统分析 523
18.4.2 总体设计 523
18.5 数据库设计 524
18.5.1 数据表的建立 524
18.5.2 数据库操作流程 525
18.6 服务器端功能设计 525
18.6.1 服务器端主窗体设计 525
18.6.2 服务器端网络通信 527
18.6.3 服务器端账户管理模块 535
18.6.4 服务器端系统组织结构管理模块 540
18.7 客户端功能设计 542
18.7.1 客户端登录模块 542
18.7.2 客户端主窗体模块 545
18.7.3 客户端消息发送模块 548
18.8 本章总结 557
第19章 股票分析仿真系统 558
19.1 开发背景 558
19.2 系统功能设计 558
19.2.1 系统功能结构 558
19.2.2 业务流程图 559
19.3 系统开发环境要求 560
19.4 数据库与数据表设计 560
19.4.1 数据库分析 560
19.4.2 创建数据库 561
19.4.3 数据库表介绍 563
19.5 数据库操作模块设计 564
19.5.1 数据模型类 564
19.5.2 数据库操作类 567
19.5.3 对数据库表的操作 568
19.6 登录模块设计 573
19.6.1 设计登录对话框 573
19.6.2 登录功能的实现 574
19.6.3 退出登录窗口 575
19.7 系统主窗体设计 575
19.7.1 主窗体和各模块功能组织方式 576
19.7.2 显示各功能窗口 577
19.8 公式选股功能实现 578
19.8.1 界面设计 578
19.8.2 实现公式选股 579
19.9 绘制股票目数据K线图 584
19.9.1 自定义控件 584
19.9.2 K线图的更新 585
19.10 其他主要功能模块 586
19.10.1 基础数据维护模块 586
19.10.2 导入导出数据模块 587
19.10.3 品种维护模块 588
19.10.4 选择品种模块 589
19.10.5 历史数据查询模块 590
19.10.6 即时数据模块 590
19.10.7 金融计算器模块 592
19.10.8 屏幕截图模块 592
19.10.9 系统设置模块 593
19.11 本章总结 594
开发资源库使用说明 595
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《中学语文教学案例研究》贺卫东主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《小提琴入门新教程 第3册》王中男著 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018