图书介绍

24学时攻克C++ 原书第4版【下载 pdf 百度网盘 epub 免费 2025 电子版 mobi 在线】

24学时攻克C++ 原书第4版
  • (美)Jesse Liberty,(美)David B. Horvath著;马朝晖等译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111169409
  • 出版时间:2005
  • 标注页数:349页
  • 文件大小:20MB
  • 文件页数:366页
  • 主题词:

PDF下载


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

下载说明

24学时攻克C++ 原书第4版PDF格式电子书版下载

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

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

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

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

图书目录

目录1

前言1

第一部分 C++概述1

第1学 时开始1

1.1 准备编程1

1.2 澄清对C++、ANSI C++、ISO C++和Windows的一些观点1

1.3 安装和设置编译器2

1.3.1 从光盘进行安装2

1.3.2 配置Borland C++BuilderX编译器3

1.3.3 使用Borland C++BuilderX编译器进行编译4

1.3.4 编译器和编辑器5

1.4 编译和连接源代码5

1.5 开发周期6

1.4.2 连接程序6

1.4.1 在集成开发环境中进行编译6

1.6 HELLO.CPP——第一个C++程序7

1.7 编译错误8

1.8 问与答9

1.9 课外作业10

1.9.1 测验10

1.9.2 练习10

1.9.3 测验答案10

第2学 时C++程序的组成11

2.1 为什么C++是正确的选择11

2.1.1 过程化、结构化和面向对象程序设计11

2.1.2 C++和面向对象程序设计12

2.2 简单程序的组成13

2.2.2 逐行分析14

2.2.1 逐字符地查看#include14

2.3.1 注释的类型15

2.3 注释15

2.3.2 在简单的范例程序中使用注释16

2.4 函数16

2.4.1 调用函数16

2.4.2 使用函数17

2.4.3 使用带有参数的函数18

2.5 问与答18

2.6 课外作业19

2.6.1 测验19

2.6.2 练习19

2.6.3 测验答案19

3.1.1 设置内存20

第3学时 变量和常量20

3.1 变量是什么20

3.1.2 整数的长度21

3.1.3 带符号和无符号22

3.1.4 基本变量类型22

3.2 定义变量23

3.2.1 区分大小写23

3.2.2 关键字24

3.3 一次创建多个变量24

3.4 为变量赋值24

3.5 typedef25

3.6 何时使用短型,何时使用长型26

3.6.1 无符号整数的回绕26

3.6.2 带符号整数的回绕27

3.7 常量28

3.7.1 文字常量28

3.7.2 符号常量28

3.8 枚举常量29

3.9 问与答29

3.10 课外作业30

3.10.1 测验30

3.10.2 练习30

3.10.3 测验答案30

第4学 时表达式和语句31

4.1 语句31

4.1.1 空白字符31

4.1.2 复合语句31

4.2 表达式32

4.3 操作符33

4.3.1 赋值操作符33

4.3.2 数学操作符33

4.3.3 组合赋值和数学操作符34

4.3.4 自增和自减操作符34

4.3.5 放在前缀和后缀位置的操作符35

4.3.6 优先级:操作符的顺序36

4.4 复杂表达式的嵌套括号37

4.5 if语句39

4.5.1 else子句39

4.5.2 高级if语句40

4.5.3 在嵌套的if语句中使用花括号42

4.6 关于逻辑操作符的更多讲解43

4.6.4 关系优先级44

4.6.3 逻辑非44

4.6.1 逻辑与44

4.6.2 逻辑或44

4.7 关于真和假的更多讲解45

4.8 问与答45

4.9 课外作业46

4.9.1 测验46

4.9.2 练习46

4.9.3 测验答案46

第5学时 函数47

5.1 函数是什么47

5.2 声明和定义函数47

5.2.1 声明函数48

5.2.2 定义函数49

5.3.1 局部变量50

5.2.3 函数定义的说明50

5.3 在函数内使用变量50

5.3.2 全局变量52

5.4 函数参数52

5.4.1 以函数调用作为参数53

5.4.2 参数也是局部变量53

5.5 从函数返回值54

5.6 函数中的默认参数57

5.7 重载函数58

5.7.1 内联函数58

5.7.2 堆栈和函数60

5.9.3 测验答案62

5.9.2 练习62

5.9.1 测验62

5.9 课外作业62

5.8 问与答62

第6学时 程序流64

6.1 循环64

6.1.1 循环的根源goto64

6.1.2 为什么不使用goto64

6.2 while循环64

6.2.1 更复杂的while语句65

6.2.2 continue和break66

6.2.3 while(1)循环68

6.3 do…while循环69

6.4 for循环70

6.4.1 初始化、测试和自增71

6.4.2 高级for循环72

6.4.3 空for循环74

6.4.4 嵌套的循环75

6.5 switch语句76

6.6 问与答77

6.7 课外作业78

6.7.1 测验78

6.7.2 练习78

6.7.3 测验答案78

第二部分 类79

第7学时 基本的类79

7.1 类型是什么79

7.2 创建新的类型79

7.3.1 声明类80

7.3 类和成员80

7.3.2 类的命名惯例81

7.3.3 定义对象81

7.3.4 类和对象81

7.4 访问类成员81

7.5 私有访问和公共访问82

7.6 实现类方法83

7.7 构造器和析构器,即创建和删除对象85

7.7.1 默认构造器85

7.7.2 编译器提供的构造器86

7.9.1 测验88

7.9.2 练习88

7.9.3 测验答案88

7.9 课外作业88

7.8 问与答88

第8学时 关于类的更多讲解89

8.1 const成员函数89

8.2 接口和实现89

8.3 把类声明和方法定义放在哪里90

8.4 内联实现91

8.5 使用其他类作为成员数据的类92

8.6 问与答96

8.7 课外作业97

8.7.1 测验97

8.7.2 练习97

8.7.3 测验答案97

第三部分 内存管理99

第9学时 指针99

9.1 了解指针及其用途99

9.1.1 在指针内存储地址101

9.1.3 间接操作符,即间接使用指针102

9.1.2 指针名称102

9.1.4 指针、地址和变量103

9.1.5 使用指针操作数据104

9.1.6 检查指针内存储的地址104

9.2 为什么要使用指针106

9.3 堆栈和堆106

9.3.1 使用new关键字107

9.3.2 使用delete关键字108

9.3.3 避免内存泄漏109

9.4 问与答110

9.5 课外作业110

9.5.1 测验110

9.5.3 测验答案111

9.5.2 练习111

第10学时 高级指针112

10.1 在堆中创建对象112

10.2 删除对象112

10.3 使用指针访问数据成员113

10.4 堆中的成员数据114

10.5 this指针115

10.6 迷失或者悬挂指针117

10.7 const指针117

10.7.1 const指针和const成员函数118

10.7.2 const this指针119

10.8 问与答119

10.9.3 测验答案120

10.9.2 练习120

10.9.1 测验120

10.9 课外作业120

第11学时 引用121

11.1 什么是引用121

11.2 创建引用121

11.3 对引用使用取地址操作符122

11.4 什么能够引用125

11.5 空指针和空引用125

11.6 按引用传递函数参数125

11.6.1 使用指针实现swap()126

11.6.2 使用引用实现swap()127

11.7 理解函数头和原型128

11.8 返回多个值129

11.10.1 测验131

11.10 课外作业131

11.9 问与答131

11.10.2 练习132

11.10.3 测验答案132

第12学时 高级引用和指针133

12.1 按引用进行传递以提高效率133

12.2 传递const指针135

12.3 引用作为指针的另一种方式137

12.4 何时使用引用和指针139

12.5 不要返回不在范围内的对象的引用139

12.6 返回堆中的对象的引用140

12.7 谁拥有指针142

12.8 问与答142

12.9.3 测验答案143

12.9.2 练习143

12.9 课外作业143

12.9.1 测验143

第四部分 强大的工具145

第13学时 高级函数145

13.1 重载的成员函数145

13.2 使用默认值147

13.3 在默认值和重载的函数之间进行选择148

13.4 重载构造器148

13.5 初始化对象149

13.6 拷贝构造器149

13.8.1 测验153

13.8.3 测验答案153

13.8.2 练习153

13.8 课外作业153

13.7 问与答153

第14学时 操作符重载154

14.1 如何重载操作符154

14.1.1 编写自增函数155

14.1.2 重载后缀操作符156

14.1.3 前缀和后缀之间的区别156

14.1.4 operator+158

14.1.5 重载operator+159

14.1.6 操作符重载的局限性160

14.1.7 何时需要重载160

14.1.8 operator160

14.2 转换操作符162

14.4 课外作业165

14.3 问与答165

14.4.1 测验166

14.4.2 练习166

14.4.3 测验答案166

第15学时 数组167

15.1 数组是什么167

15.2 数组元素167

15.3 写入超出数组的结尾168

15.4 栅栏错误169

15.5 初始化数组169

15.6 对象数组169

15.7 多维数组171

15.9 指针数组173

15.8 关于内存的讲解173

15.10 在堆中声明数组174

15.11 指向数组的指针和指针数组175

15.12 指针和数组名称175

15.13 在堆中删除数组177

15.14 char数组177

15.15 strcpy()和strncpy()179

15.16 字符串类180

15.17 问与答181

15.18 课外作业181

15.18.1 测验181

15.18.2 练习181

15.18.3 测验答案181

16.1 继承是什么183

16.1.1 继承和派生183

第五部分 继承和多态性183

第16学时 继承183

16.1.2 使用动物王国解释继承184

16.1.3 派生的语法185

16.2 私有的和保护的186

16.3 构造器和析构器188

16.4 把参数传递给基类构造器190

16.5 覆盖函数193

16.5.1 重载和覆盖195

16.5.2 隐藏基类方法195

16.5.3 调用基类方法196

16.6 问与答197

16.7.2 练习198

16.7.3 测验答案198

16.7.1 测验198

16.7 课外作业198

第17学时 多态性和派生类199

17.1 使用虚方法实现多态性199

17.1.1 虚成员函数如何工作202

17.1.2 不能用父类指针调用子类的方法203

17.1.3 限制203

17.1.4 虚析构器205

17.1.5 虚拷贝构造器205

17.1.6 虚方法的代价208

17.2 问与答208

17.3 课外作业208

17.3.1 测验208

17.3.2 练习208

17.3.3 测验答案209

第18学时 高级多态性210

18.1 单一继承的问题210

18.2 抽象数据类型213

18.2.1 纯虚函数216

18.2.2 实现纯虚函数219

18.2.3 抽象的复杂层次结构222

18.2.4 什么类型是抽象的225

18.3 问与答225

18.4 课外作业226

18.4.1 测验226

18.4.2 练习226

18.4.3 测验答案226

19.2.1 责任的委托227

19.2 使用链表的实例研究227

19.1 链表和其他结构227

第19学时 链表227

19.2.2 组件组成228

19.3 关于链表235

19.4 问与答236

19.5 课外作业236

19.5.1 测验236

19.5.2 练习236

19.5.3 测验答案236

第六部分 特殊主题237

第20学时 特殊的类、函数和指针237

20.1 静态成员数据237

20.2 静态成员函数239

20.3 类的包含240

20.3.2 过滤对被包含成员的访问245

20.3.1 访问被包含类的成员245

20.3.4 按值拷贝和按引用拷贝246

20.4 友元类246

20.3.3 包含的代价246

20.5 友元函数247

20.6 指向函数的指针247

20.6.1 简写调用249

20.6.2 指向函数的指针数组249

20.6.3 把指向函数的指针传递给其他函数252

20.6.4 对指向函数的指针使用typedef254

20.6.5 指向成员函数的指针256

20.6.6 指向成员函数的指针数组258

20.8.1 测验260

20.8.2 练习260

20.8 课外作业260

20.7 问与答260

20.8.3 测验答案261

第21学时 预处理器262

21.1 预处理器和编译器262

21.2 查看中间形式262

21.3 使用#define指令262

21.3.1 对常量使用#define262

21.3.2 使用#define和#ifdef进行测试262

21.3.3 #else预处理器命令263

21.4 包含和包含防护264

21.4.3 条件编译265

21.5 宏函数265

21.4.2 反定义265

21.4.1 在命令行上进行定义265

21.5.1 为什么总需要括号266

21.5.2 宏与函数和模板267

21.6 字符串操作267

21.6.1 字符串化操作符267

21.6.2 串联操作符268

21.7 预定义宏268

21.8 问与答281

21.9 课外作业282

21.9.1 测验282

21.9.2 练习282

21.9.3 测验答案282

22.2 模拟一个警报系统283

22.1 开发周期283

第22学时 面向对象分析和设计283

22.2.1 概念化284

22.2.2 分析和需求284

22.2.3 高层和底层设计284

22.2.4 其他对象285

22.2.5 类是什么285

22.2.6 如何报告警报286

22.2.7 事件循环286

22.3 PostMaster:案例研究288

22.3.1 两次衡量,一次分隔288

22.3.2 分治289

22.3.3 消息格式289

22.3.4 初始类设计289

22.3.5 有根的层次结构和无根的层次结构290

22.3.6 设计接口292

22.3.8 80/80原则293

22.3.9 设计PostMasterMessage类293

22.3.7 构建原型293

22.3.10 应用程序编程接口294

22.3.11 大型团队中的编程295

22.3.12 开发中的设计考虑295

22.3.13 使用驱动程序296

22.4 问与答301

22.5 课外作业302

22.5.1 测验302

22.5.2 练习302

22.5.3 测验答案302

23.2 模板实例303

23.3 模板定义303

23.1 模板是什么303

第23学时 模板303

23.4 使用模板项310

23.5 标准模板库316

23.6 问与答316

23.7 课外作业316

23.7.1 测验316

23.7.2 练习317

23.7.3 测验答案317

第24学时 异常、错误处理及其他318

24.1 缺陷、错误、事故和代码失败318

24.2 处理没想到的情况319

24.3 异常319

24.4.1 捕获异常323

24.4 使用try和catch块323

24.4.3 按引用捕获和多态性324

24.4.2 多个catch规范324

24.5 编写专业品质的代码327

24.5.1 花括号328

24.5.2 长行328

24.5.3 switch语句329

24.5.4 程序文本329

24.5.5 标识符名称329

24.5.6 名称的拼写和大写字母开头330

24.5.7 注释330

24.5.8 访问330

24.6 其他资源331

24.6.2 推荐书籍331

24.6.1 在哪里获得帮助和建议331

24.5.10 include文件331

24.5.12 const331

24.5.11 assert()331

24.5.9 类定义331

24.7 问与答332

24.8 课外作业333

24.8.1 测验333

24.8.2 练习333

24.8.3 测验答案333

第七部分 附录335

附录A二 进制和十六进制335

附录B 术语表341

热门推荐