C++面向对象程序设计 第2版PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:龚晓庆,付丽娜,朱新懿,李康编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2017
- ISBN:9787302458838
- 页数:475 页
第1章 面向对象基础 1
1.1程序设计范型 1
1.2面向对象的基本概念 2
1.2.1对象和类 3
1.2.2封装和信息/实现隐藏 4
1.2.3接口、实现和消息传递 6
1.2.4继承 8
1.2.5多态性 10
1.2.6类之间的关系 12
1.3面向对象程序的特点 13
1.4面向对象方法发展简史 14
1.5小结 16
1.6习题 16
第2章C++语言概览 17
2.1 C++语言的特点 17
2.1.1 C++的发展和标准化 17
2.1.2 C++的特点 18
2.2第一个C++程序 19
2.2.1程序基本结构 20
2.2.2程序的编译和运行 21
2.3输入和输出 22
2.3.1标准输入输出 23
2.3.2注释 24
2.4集成开发环境的使用 25
2.4.1使用IDE开发C++程序 25
2.4.2 Code::Blocks使用示例 26
2.5 C++语言特性概览 32
2.6小结 33
2.7习题 33
第3章C++语言基础 35
3.1基本内置类型 36
3.1.1算术类型 37
3.1.2带符号和无符号类型 39
3.1.3字面值常量 40
3.1.4数据的输入和输出 42
3.2变量和常量 45
3.2.1变量定义 45
3.2.2标识符 45
3.2.3初始化 46
3.2.4赋值 47
3.2.5类型转换 48
3.2.6变量声明 48
3.2.7名字的作用域 49
3.2.8 const对象 51
3.2.9常量表达式和constexpr 52
3.2.10 auto和decltype 53
3.3运算符和表达式 54
3.3.1基本概念 54
3.3.2算术运算符 55
3.3.3关系和逻辑运算符 55
3.3.4赋值运算符 56
3.3.5自增和自减 57
3.3.6位运算符 57
3.3.7 sizeof运算符 58
3.3.8条件运算符 58
3.3.9逗号运算符 59
3.3.10类型转换 59
3.4语句 62
3.4.1简单语句和复合语句 62
3.4.2声明语句 63
3.4.3 if语句 63
3.4.4 switch语句 65
3.4.5 while语句 69
3.4.6 for语句 70
3.4.7 do-while语句 72
3.4.8 break和continue语句 74
3.4.9 goto语句 75
3.5编程示例:显示素数 76
3.6小结 78
3.7习题 78
第4章 复合类型 83
4.1指针和引用 83
4.1.1指针 84
4.1.2 new和delete 87
4.1.3引用 90
4.1.4右值引用 92
4.1.5 const限定指针和引用 93
4.2结构体、联合和枚举 97
4.2.1结构体 97
4.2.2联合 99
4.2.3枚举 100
4.3内置数组 101
4.3.1定义和初始化数组 101
4.3.2访问数组元素 102
4.3.3数组与指针 103
4.3.4字符数组和C风格字符串 104
4.4标准库类型string 105
4.4.1定义和初始化string对象 106
4.4.2 string对象上的操作 106
4.4.3处理string对象中的字符 109
4.5标准库类型vector 112
4.5.1定义和初始化vector 113
4.5.2向vector中添加元素 114
4.5.3访问vector中的元素 115
4.6迭代器 116
4.7编程示例:文件数据处理 118
4.7.1算法和数据结构 118
4.7.2文件读写 119
4.7.3字符串流 121
4.7.4完成的程序 123
4.8小结 124
4.9习题 125
第5章 函数 127
5.1函数基础 127
5.1.1函数定义 128
5.1.2函数调用 128
5.1.3函数声明 130
5.1.4递归函数 131
5.2参数传递 131
5.2.1按值传递 132
5.2.2按引用传递 135
5.2.3参数传递方式的选择 138
5.2.4数组参数 138
5.2.5 main()函数的参数 138
5.2.6不定个数的参数 139
5.3返回类型和return语句 140
5.3.1返回值 141
5.3.2返回引用 141
5.3.3返回列表 143
5.3.4 main()函数的返回值 143
5.3.5尾置返回类型 144
5.4函数重载 144
5.4.1重载函数 144
5.4.2重载函数的调用 145
5.4.3重载函数的判断 146
5.4.4重载函数解析 147
5.5特殊用途的函数特征 151
5.5.1默认实参 151
5.5.2 inline函数 152
5.5.3 constexpr函数 153
5.6函数指针 155
5.6.1定义函数指针 155
5.6.2使用函数指针 155
5.6.3函数指针的数组 156
5.6.4函数指针形参 157
5.7作用域和存储类别 158
5.7.1作用域 159
5.7.2存储类别和存储空间分配 163
5.8 namespace 164
5.8.1命名空间的定义 164
5.8.2命名空间成员的使用 166
5.8.3标准命名空间std 168
5.9程序代码组织 169
5.9.1声明和头文件包含 169
5.9.2函数代码的组织 169
5.9.3命名空间的代码组织 170
5.9.4链接指示符:extern“C” 171
5.10设计高质量的函数 171
5.10.1创建函数的理由 171
5.10.2函数的命名 172
5.10.3如何使用函数的参数 173
5.10.4设置函数的返回值 174
5.11小结 174
5.12习题 175
第6章 类和对象 180
6.1类的定义 180
6.1.1基本语言定义的ADT 181
6.1.2数据成员与成员函数 182
6.1.3数据成员的类内初始化 183
6.1.4成员函数的类外定义 183
6.1.5类代码的组织 184
6.1.6包含守卫 185
6.2访问控制和封装 186
6.2.1信息隐藏的必要性 186
6.2.2访问限定符 187
6.2.3类和对象 188
6.2.4 this指针 191
6.2.5访问器和修改器 192
6.2.6友元 193
6.2.7进一步的隐藏 195
6.3构造函数和析构函数 199
6.3.1构造函数 200
6.3.2构造函数初始化列表 201
6.3.3委托构造函数 202
6.3.4析构函数 204
6.4 const成员 206
6.4.1 const数据成员 206
6.4.2 const成员函数 207
6.4.3 mutable成员 209
6.4.4 const用法小结 211
6.5 static成员 212
6.5.1 static数据成员 213
6.5.2 static成员函数 215
6.5.3单件模式 216
6.5.4 static用法小结 217
6.6指向成员的指针 217
6.6.1数据成员的指针 217
6.6.2成员函数的指针 219
6.7类设计的例子 220
6.7.1类的设计 221
6.7.2类的UML表示法 221
6.7.3动态字符栈类 222
6.7.4字符串类 223
6.7.5单链表类 226
6.8小结 228
6.9习题 229
第7章 对象的初始化、复制和销毁 235
7.1对象的初始化和销毁 235
7.1.1对象的初始化 238
7.1.2默认构造函数 239
7.1.3隐式类型转换构造函数 240
7.1.4析构函数 241
7.1.5拷贝控制成员 243
7.2拷贝构造函数 245
7.3拷贝赋值运算符 249
7.4对象复制和移动 253
7.4.1移动构造函数和移动赋值运算符 254
7.4.2成员函数的复制和移动版本 258
7.4.3是否要定义拷贝控制成员 259
7.4.4交换操作 259
7.5编译器合成的成员函数 264
7.5.1 =delete 266
7.5.2 =default 266
7.6引用计数和写时复制技术 267
7.6.1内置指针实现引用计数 268
7.6.2智能指针 270
7.6.3智能指针实现引用计数 274
7.7小结 276
7.8习题 276
第8章 运算符重载 279
8.1基本概念 279
8.1.1运算符函数 280
8.1.2运算符重载的限制 280
8.1.3慎用运算符重载 281
8.2常用运算符的重载 282
8.2.1一元运算符 282
8.2.2二元运算符 285
8.2.3运算符函数的参数和返回类型 289
8.2.4非成员运算符和成员运算符 290
8.2.5重载输入输出运算符 290
8.2.6重载赋值运算符 292
8.3重载下标运算符 292
8.4用户定义的类型转换 294
8.4.1类型转换运算符 294
8.4.2自动类型转换可能引起的二义性问题 297
8.5函数调用运算符 298
8.5.1函数对象 298
8.5.2 lambda函数 299
8.5.3标准库定义的函数对象 302
8.5.4标准库函数bind 303
8.6小结 304
8.7习题 305
第9章 组合与继承 307
9.1组合——复用类的实现 307
9.1.1对象成员与组合关系 308
9.1.2对象成员的初始化 310
9.1.3复用类的实现 311
9.1.4指针成员与聚合关系 312
9.1.5指针成员与关联关系 314
9.2继承——复用类的接口 315
9.2.1继承的语法 315
9.2.2派生类成员的访问控制 316
9.2.3公有继承和私有继承 320
9.2.4派生类对象的创建和撤销 322
9.2.5继承与特殊成员 326
9.3派生类与基类的不同 327
9.3.1覆盖与同名隐藏 327
9.3.2扩充接口 331
9.4派生类向基类的类型转换 332
9.5组合与继承的选择 335
9.5.1组合的应用 336
9.5.2继承的应用 337
9.5.3组合的例子 339
9.6.4继承的例子 342
9.6多重继承 347
9.6.1多重继承引起的二义性 348
9.6.2虚基类 350
9.7小结 351
9.8习题 352
第10章 虚函数与多态性 358
10.1派生类向基类的类型转换 358
10.2虚函数 361
10.2.1声明虚函数 361
10.2.2虚函数的覆盖规则 365
10.2.3虚析构函数 368
10.2.4实现多态性的步骤 369
10.3动态绑定的实现 371
10.4抽象类 375
10.5 RTTI 378
10.5.1 dynamic cast与向下类型转换 378
10.5.2 typeid 381
10.6类层次设计的例子 382
10.6.1模仿钓鱼的例子 382
10.6.2零件库存管理的例子 385
10.7小结 390
10.8习题 390
第11章 模板与泛型编程 394
11.1函数模板 394
11.1.1函数模板的定义 395
11.1.2函数模板的实例化 397
11.1.3函数模板的重载 398
11.2类模板 399
11.2.1类模板的定义 400
11.2.2类模板的实例化 401
11.2.3类模板的成员函数 401
11.2.4模板的非类型参数 402
11.2.5类模板的静态数据成员 403
11.2.6类模板的友元 403
11.3模板的编译 404
11.3.1模板的代码组织 405
11.3.2显式实例化 408
11.4模板的更多特性 408
11.4.1模板的默认实参 408
11.4.2模板特化 409
11.4.3可变参数模板 410
11.5模板和代码复用 412
11.6小结 413
11.7习题 413
第12章 标准库容器和算法 414
12.1容器和算法概览 414
12.1.1容器概览 414
12.1.2容器操作概览 415
12.1.3算法概览 417
12.2顺序容器 417
12.2.1通用操作 418
12.2.2特有操作 421
12.2.3顺序容器适配器 424
12.2.4 string类的额外操作 425
12.3迭代器 428
12.3.1迭代器的运算 428
12.3.2与迭代器有关的容器操作 430
12.3.3反向迭代器 431
12.4关联容器 432
12.4.1 pair类型 433
12.4.2关联容器的操作 433
12.4.3 map 435
12.4.4 set 436
12.5泛型算法 437
12.5.1查找 439
12.5.2排序 439
12.6小结 440
12.7习题 440
第13章 异常处理 442
13.1异常处理机制 442
13.1.1抛出异常 443
13.1.2 try语句块 445
13.1.3异常处理流程 449
13.1.4异常对象 451
13.2捕获异常 451
13.2.1重新抛出异常 454
13.2.2捕获所有异常 455
13.2.3程序终止 455
13.3 noexcept说明 456
13.4标准异常 458
13.4.1自定义异常类型 460
13.4.2处理类类型的异常 460
13.5其他错误处理技术 460
13.5.1输入数据检验 461
13.5.2断言 461
13.5.3错误数据处理 462
13.5.4审慎使用异常 463
13.6小结 464
13.7习题 465
附录A C++关键字、运算符、标准库头文件表 467
参考文献 475
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019