C++程序设计与实践PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:白忠建编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2016
- ISBN:9787111544913
- 页数:310 页
第1章 引论 1
1.1 对象的概念 1
1.1.1 现实世界中的对象 2
1.2.1 计算机中的对象 3
1.2 面向过程和面向对象 4
1.2.1 面向过程方法 4
1.2.2 面向对象方法 5
1.3 面向对象技术的核心概念 6
1.3.1 数据封装 7
1.3.2 继承 9
1.3.3 多态性 9
1.3.4 泛型编程 10
1.4 C++程序概貌 11
1.4.1 第一个C++程序 11
1.4.2 C++程序的编辑、编译和链接 15
1.5 贯穿全书的案例 15
第2章 C++的数据类型 17
2.1 C++数据类型概览 17
2.2 标识符、常量和变量 19
2.2.1 标识符 19
2.2.2 常量 20
2.2.3 变量 21
2.2.4 变量的初始化 22
2.3 简单数据类型 23
2.3.1 整数类型 23
2.3.2 浮点类型 26
2.3.3 枚举类型 26
2.4 地址数据类型 28
2.4.1 指针类型 28
2.4.2 引用类型 32
2.4.3 右值引用 34
2.5 结构化数据类型 36
2.5.1 数组 36
2.5.2 结构体 41
2.5.3 用typedef定义类型的别名 43
2.6 运算符和表达式 44
2.6.1 常用运算符和表达式 44
2.6.2 几种特殊的运算符 49
2.7 类型自动推导 52
2.7.1 decltype关键字 52
2.7.2 auto关键字 52
2.8 lambda表达式 53
第3章 C++语句 55
3.1 C++语句概述 55
3.1.1 表达式语句 55
3.1.2 复合语句 56
3.1.3 标号语句 56
3.2 流程控制结构和语句 57
3.2.1 顺序结构 57
3.2.2 选择结构和语句 57
3.2.3 循环结构和语句 59
3.2.4 跳转语句 63
3.3 异常处理语句 63
3.3.1 异常的概念 64
3.3.2 抛出异常 64
3.3.3 异常捕获 64
第4章 函数 69
4.1 函数的原型声明和定义 69
4.1.1 函数原型声明 69
4.1.2 函数的类型 70
4.2 函数的参数和返回值 71
4.2.1 函数的参数 71
4.2.2 函数的返回值 76
4.3 函数重载 79
4.4 存储类修饰符 81
4.5 标识符的作用域和生命期 83
4.5.1 作用域和生命期 83
4.5.2 名字限定 84
4.6 函数的其他话题 85
4.6.1 内联函数 85
4.6.2 函数递归 86
4.6.3 指向函数的指针和引用 87
4.6.4 函数类型作为参数和返回值类型 88
4.6.5 在C++程序中调用非C++函数 89
4.6.6 后缀函数返回类型 89
4.7 “图形学习”案例的C风格解决方案 90
4.7.1 案例分析 90
4.7.2 形体建模 91
4.7.3 存储模型 92
4.7.4 改进的形体和链表设计 93
4.7.5 形体和链表的操作接口设计 95
4.7.6 任务集成 95
4.7.7 建造工程 96
第5章 类和对象 98
5.1 案例分析——平面圆的模型 98
5.2 类与对象 99
5.2.1 类的定义 99
5.2.2 类和对象 100
5.2.3 访问控制 101
5.3 类的成员 105
5.3.1 数据成员 105
5.3.2 成员函数 106
5.3.3 静态成员 108
5.4 类对象的初始化 113
5.5 C++的类 114
5.6 数据封装和信息隐藏的意义 115
5.7 用面向对象的方式思考 115
5.8 “图形学习”解决方案——封装 118
5.8.1 形体类型的类版本 118
5.8.2 链表类型的类版本 119
5.8.3 让任务也成为类 119
第6章 深入类和对象 121
6.1 案例分析——数组包装类array 121
6.2 构造函数和析构函数 124
6.2.1 构造函数 125
6.2.2 重载构造函数 128
6.2.3 析构函数 131
6.2.4 复制控制 133
6.3 再谈对象创建和初始化 142
6.3.1 对象的创建和释放 142
6.3.2 对象的初始化 145
6.4 对象和指针 146
6.4.1 this指针 146
6.4.2 指向类对象的指针 147
6.4.3 指向类成员的指针 148
6.5 友元关系 150
6.5.1 友元函数和友元类 150
6.5.2 友元关系的特性 152
6.6 与类和对象相关的问题 152
6.6.1 对象数组 152
6.6.2 类对象作为函数参数和返回值 153
6.6.3 常量对象和mutable关键字 155
6.6.4 常成员函数 156
6.6.5 类中的类型 156
6.7 “图形学习”解决方案——类强化 159
6.7.1 形体类的构造函数和析构函数 159
6.7.2 列表类的构造函数和析构函数 160
第7章 运算符重载 162
7.1 案例分析——complex类及其常规运算 162
7.2 运算符的重载形式 164
7.2.1 运算符重载的语法 164
7.2.2 重载运算符规则 167
7.3 常用运算符的重载 169
7.3.1 重载赋值运算符 169
7.3.2 重载算术运算符 172
7.3.3 重载++和--运算符 173
7.3.4 重载关系运算符 175
7.4 几种特殊运算符的重载 176
7.4.1 重载输入/输出运算符>>和<< 176
7.4.2 重载类型转换运算符 177
7.4.3 重载[]运算符 181
7.4.4 重载指针运算符 183
7.4.5 重载()运算符 184
7.5 “图形学习”解决方案——为List类重载运算符 186
第8章 继承和派生 188
8.1 案例分析——食肉动物的分类 188
8.2 继承和派生的详细介绍 191
8.2.1 继承的前提:分类 191
8.2.2 继承的语法及基本概念 192
8.2.3 访问控制 194
8.2.4 继承的实现机制 195
8.2.5 基类的protected成员 196
8.2.6 访问声明 198
8.2.7 基类静态成员的派生 198
8.2.8 开闭原则 200
8.3 基类与派生类的关系 201
8.3.1 基类对象的初始化 201
8.3.2 派生类对象和基类对象的相互转换 203
8.3.3 派生类中重新定义基类的成员 206
8.3.4 派生类继承基类重载的运算符函数 208
8.4 何时使用继承 209
8.4.1 类/对象之间的关系 209
8.4.2 组合/聚集复用原则 212
8.5 继承的意义 212
8.5.1 模块的观点 212
8.5.2 类型的观点 213
8.6 “图形学习”解决方案——使用继承 213
8.6.1 形体类的改造 214
8.6.2 链表类的改造 215
第9章 虚函数和多态性 218
9.1 案例分析——派生类重载基类方法的问题 218
9.2 多态性的概念 220
9.2.1 静态多态性 220
9.2.2 动态多态性 221
9.3 实现多态的基石——虚函数 221
9.3.1 虚函数的概念和特性 221
9.3.2 虚函数的实现机制 227
9.3.3 override和final描述符 229
9.4 纯虚函数和抽象类 230
9.4.1 纯虚函数 230
9.4.2 抽象类 231
9.5 类的设计:OOD原则 233
9.5.1 依赖倒置原则 233
9.5.2 接口隔离原则 235
9.5.3 最少知识原则 236
9.6 “图形学习”解决方案——抽象化顶层类 237
9.6.1 将Quadrangle类改造成抽象类 238
9.6.2 更为抽象的容器类 238
第10章 模板和泛型编程 240
10.1 案例分析——被类型困扰的函数重载和类 240
10.2 函数模板 242
10.2.1 函数模板的定义和使用 242
10.2.2 重载模板函数和非模板函数 245
10.2.3 函数模板的特化 246
10.3 类模板 246
10.3.1 类模板的定义和使用 246
10.3.2 类模板的成员 251
10.3.3 类模板的特化 252
10.3.4 类模板中的友元 252
10.3.5 类模板的继承和派生 253
10.4 容器类和迭代器 254
10.4.1 容器类的迭代操作 254
10.4.2 迭代器 255
10.5 泛型算法 260
10.5.1 泛型算法函数的设计 261
10.5.2 带谓词的泛型算法 262
10.5.3 函数后缀返回类型用于泛型 264
10.6 C++标准模板库STL 265
10.6.1 C++的标准容器类 265
10.6.2 C++的标准泛型算法和可调用对象 265
10.6.3 C++STL的应用 266
10.7 解决方案 268
第11章 流库 271
11.1 案例分析——C风格输入/输出的缺陷 271
11.2 C++的I/O系统 272
11.3 C++流库的结构 272
11.3.1 输入/输出流的含义 272
11.3.2 C++流库的基本结构 273
11.4 输入和输出 274
11.4.1 istream 274
11.4.2 ostream 277
11.4.3 输出运算符<< 278
11.4.4 输入运算符>> 279
11.5 格式控制 280
11.5.1 用iso类成员函数格式化 280
11.5.2 用操纵函数格式化 281
11.6 文件I/O 282
11.6.1 文件的概念 282
11.6.2 文件的打开和关闭 282
11.6.3 文件的读写 284
第12章 多继承 286
12.1 案例分析——正方形的继承问题 286
12.2 多继承的概念 287
12.2.1 多继承的语法 288
12.2.2 派生类对象的构造和析构 288
12.3 虚继承和虚基类 289
12.3.1 多继承的二义性问题 289
12.3.2 虚继承和虚基类的使用 289
12.3.3 最终派生类对象的初始化 291
第13章 名字空间和异常处理 293
13.1 案例分析——命名冲突和程序异常 293
13.2 名字空间 294
13.2.1 名字空间的定义 294
13.2.2 嵌套的名字空间 295
13.2.3 using声明 295
13.2.4 using指令 297
13.2.5 匿名名字空间 298
13.3 异常处理 299
13.3.1 throw和try…catch 299
13.3.2 标准异常类型 301
13.3.3 在构造函数中抛出异常 302
13.3.4 异常匹配 302
13.3.5 含有异常的程序设计 302
13.3.6 异常的典型使用 303
13.3.7 开销 304
附录 306
附录A C++关键字 306
附录B 运算符的优先级和结合性 307
附录C 标准C++头文件 308
附录D UML常用图例 309
参考文献 310
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《语文教育教学实践探索》陈德收 2018
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《反思性实践》胡红梅, 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019