图书介绍

C++面向对象程序设计 第2版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

C++面向对象程序设计 第2版
  • 龚晓庆,付丽娜,朱新懿,李康编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302458838
  • 出版时间:2017
  • 标注页数:475页
  • 文件大小:135MB
  • 文件页数:494页
  • 主题词:C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C++面向对象程序设计 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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常量表达式和constexpr52

3.2.10 auto和decltype53

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和delete87

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标准库类型string105

4.4.1定义和初始化string对象106

4.4.2 string对象上的操作106

4.4.3处理string对象中的字符109

4.5标准库类型vector112

4.5.1定义和初始化vector113

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 namespace164

5.8.1命名空间的定义164

5.8.2命名空间成员的使用166

5.8.3标准命名空间std168

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基本语言定义的ADT181

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 =delete266

7.5.2 =default266

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标准库函数bind303

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 RTTI378

10.5.1 dynamic cast与向下类型转换378

10.5.2 typeid381

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 map435

12.4.4 set436

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

热门推荐