注册 登录 进入教材巡展
#
  • #

出版时间:2020-01

出版社:清华大学出版社

以下为《C++面向对象程序设计(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302544524
  • 2-1
  • 320794
  • 48210240-7
  • 16开
  • 2020-01
  • 工学
  • 软件工程
  • TP312C
  • 计算机
  • 本科
作者简介
邵兰洁,主持参与省市级课题10余项,发表学术论文20余篇,出版计算机相关图书10余本。从事教育工作19年。
查看全部
内容简介

本教材遵循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
Baidu
map