暂无评论
图文详情
- ISBN:9787302544524
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16
- 页数:472
- 出版时间:2020-01-09
- 条形码:9787302544524 ; 978-7-302-54452-4
本书特色
以“基于项目的学习”理念为指导,以一个难度适中的综合性项目——图书馆图书借阅管理系统为案例,学习C++面向对象程序设计。
内容简介
本教材遵循CDIO工程教育理念,以项目驱动为主线,全面而深入浅出地介绍了面向对象程序设计的编程思想及基本概念、标准C++面向对象程序设计技术。按照教材的引导一步步完成项目案例程序的编制,让学生“学中做”、“做中学”,在编程实践中提高学生的自主学习能力、工程实践能力等多方面能力。
目录
第1章面向对象程序设计概述/1
1.1面向过程程序设计1
1.2面向对象程序设计5
1.2.1面向对象程序设计的思想5
1.2.2面向对象的基本概念6
1.2.3面向对象程序设计的优点9
1.3面向对象的软件开发10
1.4图书馆图书借阅管理系统的面向对象分析与设计12
1.4.1面向对象分析12
1.4.2面向对象设计15
本章小结16
习题17
第2章面向过程程序设计概述/18
2.1从C语言到C++18
2.2简单C++程序19
2.3C++对C语言的扩充24
2.3.1C++的输入输出25
2.3.2C++对C语言数据类型的扩展26
2.3.3常变量27
2.3.4指针29
2.3.5引用42
2.3.6函数48
2.3.7名字空间61
2.3.8字符串变量64
2.3.9复数变量69
2.4C++程序的编写和实现73
本章小结74
习题74〖1〗C++面向对象程序设计(第2版)目录〖3〗〖3〗第3章类与对象/76
3.1类的声明和对象的定义76
3.1.1类和对象的概念及其关系76
3.1.2类的声明77
3.1.3对象的定义78
3.2类的成员函数80
3.2.1成员函数的性质80
3.2.2在类外定义成员函数81
3.2.3inline成员函数82
3.2.4成员函数的存储方式82
3.3对象成员的访问84
3.3.1通过对象名和成员运算符来访问对象的成员84
3.3.2通过指向对象的指针来访问对象的成员84
3.3.3通过对象的引用来访问对象的成员85
3.4构造函数与析构函数86
3.4.1构造函数86
3.4.2析构函数94
3.4.3构造函数和析构函数的调用次序96
3.5对象数组99
3.6对象指针102
3.6.1指向对象的指针102
3.6.2指向对象成员的指针103
3.6.3this指针105
3.7对象与const106
3.7.1常对象106
3.7.2常对象成员107
3.7.3指向对象的常指针109
3.7.4指向常对象的指针109
3.7.5对象的常引用111
3.8对象的动态创建和销毁111
3.8.1直接管理内存111
3.8.2动态内存与智能指针112
3.9对象的复制和赋值122
3.9.1对象的复制122
3.9.2对象的赋值126
3.9.3=default和=delete130
3.9.4对象的赋值与复制的比较133
3.10对象移动133
3.10.1右值引用133
3.10.2移动构造函数和移动赋值运算符134
3.10.3右值引用与函数重载140
3.11向函数传递对象145
3.12字面值常量类147
3.13图书馆图书借阅管理系统中类的声明和对象的定义148
本章小结155
习题157
第4章继承与派生/159
4.1继承与派生的概念159
4.2派生类的声明160
4.3派生类的构成161
4.4派生类中基类成员的访问属性162
4.4.1公用继承163
4.4.2私有继承165
4.4.3保护成员和保护继承166
4.4.4成员同名问题169
4.5派生类的构造函数171
4.6合成复制控制与继承174
4.7定义派生类的复制控制成员175
4.7.1定义派生类的复制和移动构造函数175
4.7.2定义派生类的复制和移动赋值运算符177
4.7.3定义派生类的析构函数178
4.8“继承”的构造函数180
4.9多重继承182
4.9.1声明多重继承的方法182
4.9.2多重继承派生类的构造函数与析构函数183
4.9.3多重继承引起的二义性问题186
4.9.4虚基类189
4.10基类与派生类对象的关系192
4.11聚合与组合195
4.12图书馆图书借阅管理系统中继承与聚合的应用198
本章小结214
习题215
第5章多态性与虚函数/223
5.1什么是多态性223
5.2向上类型转换223
5.3功能早绑定和晚绑定225
5.4实现功能晚绑定——虚函数226
5.4.1虚函数的定义和作用226
5.4.2虚析构函数230
5.4.3虚函数与重载函数的比较232
5.5纯虚函数和抽象类232
5.6图书馆图书借阅管理系统中的多态性237
本章小结244
习题245
第6章友元与静态成员/246
6.1封装的破坏——友元246
6.1.1友元函数246
6.1.2友元类251
6.2对象机制的破坏——静态成员253
6.2.1静态数据成员253
6.2.2静态成员函数256
6.3图书馆图书借阅管理系统中友元与静态成员的应用259
本章小结260
习题261
第7章运算符重载/263
7.1为什么要进行运算符重载263
7.2运算符重载的方法265
7.3重载运算符的规则266
7.4运算符重载函数作为类的成员函数和友元函数268
7.4.1运算符重载函数作为类的成员函数268
7.4.2运算符重载函数作为类的友元函数272
7.5几种常用运算符的重载275
7.5.1单目运算符“++”和“--”的重载275
7.5.2赋值运算符“=”的重载280
7.5.3流插入运算符“>”的重载282
7.6不同类型数据间的转换285
7.6.1系统预定义类型间的转换285
7.6.2转换构造函数286
7.6.3类型转换函数289
7.6.4explicit关键字291
7.7图书馆图书借阅管理系统中的运算符重载293
本章小结299
习题299
第8章函数模板与类模板/301
8.1函数模板301
8.1.1函数模板的定义302
8.1.2函数模板的实例化304
8.1.3函数模板参数305
8.1.4函数模板重载310
8.2类模板313
8.2.1类模板的声明314
8.2.2类模板的实例化315
8.2.3类模板参数318
8.2.4类模板与友元321
8.3可变参数模板326
8.4图书馆图书借阅管理系统中的泛型编程331
本章小结337
习题337
第9章输入输出/339
9.1C++的输入输出概述339
9.1.1C++的输入输出339
9.1.2C++的输入输出流340
9.2C++的标准输入输出流342
9.2.1C++的标准输出流342
9.2.2C++的标准输入流345
9.3输入输出运算符351
9.3.1输入运算符351
9.3.2输出运算符352
9.3.3输入与输出运算符的重载352
9.4C++格式输入输出352
9.4.1用流对象的成员函数控制输入输出格式352
9.4.2用控制符控制输入输出格式356
9.5文件操作与文件流357
9.5.1文件的概念357
9.5.2文件流类及文件流对象358
9.5.3文件的打开与关闭358
9.5.4对文本文件的操作360
9.5.5对二进制文件的操作362
9.6图书馆图书借阅管理系统中的文件操作366
本章小结366
习题366
第10章异常处理/368
10.1C++异常处理概述368
10.2C++异常处理的实现369
10.3异常与函数375
10.3.1在函数中处理异常375
10.3.2在函数调用中完成异常处理376
10.3.3限制函数异常377
10.4异常与类377
10.4.1构造函数、析构函数与异常处理377
10.4.2异常类380
10.5图书馆图书借阅管理系统中的异常处理383
本章小结385
习题386
第11章STL简介/387
11.1容器概述387
11.1.1所有容器都提供的操作388
11.1.2容器迭代器390
11.1.3容器的定义与初始化391
11.1.4容器的赋值与swap393
11.1.5容器的大小操作395
11.1.6容器的关系运算符395
11.2顺序容器396
11.2.1添加元素操作397
11.2.2访问元素操作401
11.2.3删除元素操作402
11.2.4特殊的forward_list操作404
11.2.5改变容器大小操作405
11.2.6额外的string操作405
11.3顺序容器适配器417
11.4关联容器421
11.4.1定义关联容器422
11.4.2关键字类型的要求422
11.4.3pair类型423
11.4.4关联容器操作425
11.4.5无序容器431
11.5算法433
11.5.1初识泛型算法434
11.5.2算法迭代器参数435
11.5.3向算法传递函数439
11.5.4向算法传递函数对象440
11.5.5向算法传递lambda表达式442
11.5.6向算法传递bind绑定的对象448
11.6STL综合案例450
本章小结454
习题455
1.1面向过程程序设计1
1.2面向对象程序设计5
1.2.1面向对象程序设计的思想5
1.2.2面向对象的基本概念6
1.2.3面向对象程序设计的优点9
1.3面向对象的软件开发10
1.4图书馆图书借阅管理系统的面向对象分析与设计12
1.4.1面向对象分析12
1.4.2面向对象设计15
本章小结16
习题17
第2章面向过程程序设计概述/18
2.1从C语言到C++18
2.2简单C++程序19
2.3C++对C语言的扩充24
2.3.1C++的输入输出25
2.3.2C++对C语言数据类型的扩展26
2.3.3常变量27
2.3.4指针29
2.3.5引用42
2.3.6函数48
2.3.7名字空间61
2.3.8字符串变量64
2.3.9复数变量69
2.4C++程序的编写和实现73
本章小结74
习题74〖1〗C++面向对象程序设计(第2版)目录〖3〗〖3〗第3章类与对象/76
3.1类的声明和对象的定义76
3.1.1类和对象的概念及其关系76
3.1.2类的声明77
3.1.3对象的定义78
3.2类的成员函数80
3.2.1成员函数的性质80
3.2.2在类外定义成员函数81
3.2.3inline成员函数82
3.2.4成员函数的存储方式82
3.3对象成员的访问84
3.3.1通过对象名和成员运算符来访问对象的成员84
3.3.2通过指向对象的指针来访问对象的成员84
3.3.3通过对象的引用来访问对象的成员85
3.4构造函数与析构函数86
3.4.1构造函数86
3.4.2析构函数94
3.4.3构造函数和析构函数的调用次序96
3.5对象数组99
3.6对象指针102
3.6.1指向对象的指针102
3.6.2指向对象成员的指针103
3.6.3this指针105
3.7对象与const106
3.7.1常对象106
3.7.2常对象成员107
3.7.3指向对象的常指针109
3.7.4指向常对象的指针109
3.7.5对象的常引用111
3.8对象的动态创建和销毁111
3.8.1直接管理内存111
3.8.2动态内存与智能指针112
3.9对象的复制和赋值122
3.9.1对象的复制122
3.9.2对象的赋值126
3.9.3=default和=delete130
3.9.4对象的赋值与复制的比较133
3.10对象移动133
3.10.1右值引用133
3.10.2移动构造函数和移动赋值运算符134
3.10.3右值引用与函数重载140
3.11向函数传递对象145
3.12字面值常量类147
3.13图书馆图书借阅管理系统中类的声明和对象的定义148
本章小结155
习题157
第4章继承与派生/159
4.1继承与派生的概念159
4.2派生类的声明160
4.3派生类的构成161
4.4派生类中基类成员的访问属性162
4.4.1公用继承163
4.4.2私有继承165
4.4.3保护成员和保护继承166
4.4.4成员同名问题169
4.5派生类的构造函数171
4.6合成复制控制与继承174
4.7定义派生类的复制控制成员175
4.7.1定义派生类的复制和移动构造函数175
4.7.2定义派生类的复制和移动赋值运算符177
4.7.3定义派生类的析构函数178
4.8“继承”的构造函数180
4.9多重继承182
4.9.1声明多重继承的方法182
4.9.2多重继承派生类的构造函数与析构函数183
4.9.3多重继承引起的二义性问题186
4.9.4虚基类189
4.10基类与派生类对象的关系192
4.11聚合与组合195
4.12图书馆图书借阅管理系统中继承与聚合的应用198
本章小结214
习题215
第5章多态性与虚函数/223
5.1什么是多态性223
5.2向上类型转换223
5.3功能早绑定和晚绑定225
5.4实现功能晚绑定——虚函数226
5.4.1虚函数的定义和作用226
5.4.2虚析构函数230
5.4.3虚函数与重载函数的比较232
5.5纯虚函数和抽象类232
5.6图书馆图书借阅管理系统中的多态性237
本章小结244
习题245
第6章友元与静态成员/246
6.1封装的破坏——友元246
6.1.1友元函数246
6.1.2友元类251
6.2对象机制的破坏——静态成员253
6.2.1静态数据成员253
6.2.2静态成员函数256
6.3图书馆图书借阅管理系统中友元与静态成员的应用259
本章小结260
习题261
第7章运算符重载/263
7.1为什么要进行运算符重载263
7.2运算符重载的方法265
7.3重载运算符的规则266
7.4运算符重载函数作为类的成员函数和友元函数268
7.4.1运算符重载函数作为类的成员函数268
7.4.2运算符重载函数作为类的友元函数272
7.5几种常用运算符的重载275
7.5.1单目运算符“++”和“--”的重载275
7.5.2赋值运算符“=”的重载280
7.5.3流插入运算符“>”的重载282
7.6不同类型数据间的转换285
7.6.1系统预定义类型间的转换285
7.6.2转换构造函数286
7.6.3类型转换函数289
7.6.4explicit关键字291
7.7图书馆图书借阅管理系统中的运算符重载293
本章小结299
习题299
第8章函数模板与类模板/301
8.1函数模板301
8.1.1函数模板的定义302
8.1.2函数模板的实例化304
8.1.3函数模板参数305
8.1.4函数模板重载310
8.2类模板313
8.2.1类模板的声明314
8.2.2类模板的实例化315
8.2.3类模板参数318
8.2.4类模板与友元321
8.3可变参数模板326
8.4图书馆图书借阅管理系统中的泛型编程331
本章小结337
习题337
第9章输入输出/339
9.1C++的输入输出概述339
9.1.1C++的输入输出339
9.1.2C++的输入输出流340
9.2C++的标准输入输出流342
9.2.1C++的标准输出流342
9.2.2C++的标准输入流345
9.3输入输出运算符351
9.3.1输入运算符351
9.3.2输出运算符352
9.3.3输入与输出运算符的重载352
9.4C++格式输入输出352
9.4.1用流对象的成员函数控制输入输出格式352
9.4.2用控制符控制输入输出格式356
9.5文件操作与文件流357
9.5.1文件的概念357
9.5.2文件流类及文件流对象358
9.5.3文件的打开与关闭358
9.5.4对文本文件的操作360
9.5.5对二进制文件的操作362
9.6图书馆图书借阅管理系统中的文件操作366
本章小结366
习题366
第10章异常处理/368
10.1C++异常处理概述368
10.2C++异常处理的实现369
10.3异常与函数375
10.3.1在函数中处理异常375
10.3.2在函数调用中完成异常处理376
10.3.3限制函数异常377
10.4异常与类377
10.4.1构造函数、析构函数与异常处理377
10.4.2异常类380
10.5图书馆图书借阅管理系统中的异常处理383
本章小结385
习题386
第11章STL简介/387
11.1容器概述387
11.1.1所有容器都提供的操作388
11.1.2容器迭代器390
11.1.3容器的定义与初始化391
11.1.4容器的赋值与swap393
11.1.5容器的大小操作395
11.1.6容器的关系运算符395
11.2顺序容器396
11.2.1添加元素操作397
11.2.2访问元素操作401
11.2.3删除元素操作402
11.2.4特殊的forward_list操作404
11.2.5改变容器大小操作405
11.2.6额外的string操作405
11.3顺序容器适配器417
11.4关联容器421
11.4.1定义关联容器422
11.4.2关键字类型的要求422
11.4.3pair类型423
11.4.4关联容器操作425
11.4.5无序容器431
11.5算法433
11.5.1初识泛型算法434
11.5.2算法迭代器参数435
11.5.3向算法传递函数439
11.5.4向算法传递函数对象440
11.5.5向算法传递lambda表达式442
11.5.6向算法传递bind绑定的对象448
11.6STL综合案例450
本章小结454
习题455
展开全部
作者简介
邵兰洁,主持参与省市级课题10余项,发表学术论文20余篇,出版计算机相关图书10余本。从事教育工作19年。
本类五星书
本类畅销
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0