《C++入门经典 第5版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Jesse Liberty
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:7115261458
  • 页数:314 页
图书介绍:C++是国内非常流行的编程语言,很多初学者对C++有所畏惧,本书通过大量示例程序循序渐进地引导读者快速掌握使用C++开发程序的基本技能。

第一部分C﹢﹢入门 2

第1章 编写第一个程序 2

1.1使用C﹢﹢ 2

1.2寻找编译器 3

1.3编译和链接源代码 5

1.4创建您的第一个程序 5

1.5总结 6

1.6问与答 7

1.7作业 7

1.7.1测验 7

1.7.2答案 8

1.7.3练习 8

第2章 程序的组成部分 9

2.1使用C﹢﹢的原因 9

2.1.1编程风格 10

2.1.2 C﹢﹢和面向对象编程 11

2.2程序的组成部分 12

2.2.1预处理器编译指令 12

2.2.2源代码行 13

2.3注释 13

2.4函数 14

2.5总结 16

2.6问与答 16

2.7作业 17

2.7.1测验 17

2.7.2答案 18

2.7.3练习 18

第3章 创建变量和常量 19

3.1变量是什么 19

3.1.1在内存中存储变量 20

3.1.2无符号变量和带符号变量 21

3.1.3变量类型 21

3.2定义变量 22

3.3给变量赋值 23

3.4使用类型定义 24

3.5常量 25

3.5.1定义常量 26

3.5.2枚举常量 26

3.6总结 26

3.7问与答 27

3.8作业 27

3.8.1测验 27

3.8.2答案 28

3.8.3练习 28

第4章 使用表达式、语句和运算符 29

4.1语句 29

4.1.1空白 29

4.1.2复合语句 30

4.2表达式 30

4.3运算符 31

4.3.1赋值运算符 31

4.3.2数学运算符 31

4.3.3组合运算符 32

4.3.4递增和递减运算符 32

4.3.5前缀运算符和后缀运算符 32

4.3.6运算符优先级 34

4.3.7关系运算符 36

4.4 if-else条件语句 36

4.4.1 else子句 37

4.4.2复合if语句 37

4.5逻辑运算符 39

4.5.1与运算符 39

4.5.2或运算符 39

4.5.3非运算符 39

4.5.4关系运算符和逻辑运算符的优先级 40

4.6棘手的表达式值 40

4.7总结 40

4.8问与答 41

4.9作业 41

4.9.1测验 41

4.9.2答案 42

4.9.3练习 42

第5章 调用函数 43

5.1函数是什么 43

5.2声明和定义函数 43

5.3在函数中使用变量 45

5.3.1局部变量 45

5.3.2全局变量 46

5.4函数参数 47

5.5从函数返回值 48

5.6默认函数参数 50

5.7函数重载 51

5.8总结 52

5.9问与答 53

5.10作业 53

5.10.1测验 53

5.10.2答案 54

5.10.3练习 54

第6章 控制程序流程 55

6.1循环 55

6.2 while循环 55

6.2.1退出循环 56

6.2.2跳到下一次循环 57

6.3 do-while循环 58

6.4 for循环 59

6.4.1高级for循环 61

6.4.2嵌套循环 61

6.5 switch语句 62

6.6总结 64

6.7问与答 64

6.8作业 65

6.8.1测验 65

6.8.2答案 65

6.8.3练习 66

第7章 使用数组和字符串存储信息 67

7.1数组是什么 67

7.2写入时超过数组末尾 69

7.3初始化数组 69

7.4多维数组 70

7.4.1初始化多维数组 71

7.4.2内存简介 72

7.5字符数组 72

7.6复制字符串 74

7.7总结 75

7.8问与答 75

7.9作业 75

7.9.1测验 75

7.9.2答案 76

7.9.3练习 76

第二部分类 78

第8章 创建基本类 78

8.1类型是什么 78

8.2创建新类型 78

8.3类和成员 79

8.3.1声明类 79

8.3.2创建对象 80

8.4访问类成员 80

8.5实现成员函数 81

8.6创建和删除对象 83

8.6.1默认构造函数 84

8.6.2编译器提供的构造函数 84

8.7总结 86

8.8问与答 87

8.9作业 87

8.9.1测验 87

8.9.2答案 87

8.93练习 88

第9章 高级类 89

9.1 const成员函数 89

9.2接口和实现 90

9.3组织类声明和函数定义 90

9.4内联实现 90

9.5将其他类用作成员数据的类 92

9.6总结 96

9.7问与答 96

9.8作业 96

9.8.1测验 96

9.8.2答案 97

9.8.3练习 97

第三部分 内存管理 100

第10章 创建指针 100

10.1理解指针及其用途 100

10.1.1在指针中存储地址 102

10.1.2间接运算符(间接地使用指针) 103

10.1.3指针、地址和变量 104

10.1.4使用指针操作数据 105

10.1.5查看存储在指针中的地址 105

10.1.6为何使用指针 107

10.2栈和堆 107

10.2.1使用关键字new 108

10.2.2使用关键字delete 109

10.2.3避免内存泄露 110

10.3总结 111

10.4问与答 111

10.5作业 111

10.5.1测验 111

10.5.2答案 112

10.5.3练习 112

第11章 开发高级指针 113

11.1在堆中创建对象 113

11.2删除对象 113

11.3使用指针访问数据成员 114

11.4堆中的数据成员 115

11.5 this指针 117

11.6悬摆指针 118

11.7 const指针 118

11.8 const指针和const成员函数 119

11.9总结 120

11.10问与答 121

11.11作业 121

11.11.1测验 121

11.11.2答案 121

11.11.3练习 122

第12章 创建引用 123

12.1什么是引用 123

12.2创建引用 123

12.3将地址运算符用于引用 124

12.4可引用的目标 126

12.5空指针和空引用 127

12.6按引用传递函数参数 127

12.6.1使用指针实现swap() 128

12.6.2使用引用实现swap() 129

12.7理解函数头和原型 130

12.8返回多个值 130

12.9总结 133

12.10问与答 133

12.11作业 133

12.11.1测验 133

12.11.2答案 134

12.11.3练习 134

第13章 高级引用和指针 135

13.1按引用传递以提高效率 135

13.2传递const指针 137

13.3作为指针替代品的引用 139

13.4什么情况下使用引用以及什么情况下使用指针 141

13.5不要返回不在作用域内的引用 141

13.6返回指向堆中对象的引用 142

13.7谁拥有指针 143

13.8总结 144

13.9问与答 144

13.10作业 144

13.10.1测验 144

13.10.2答案 145

13.10.3练习 145

第四部分 高级C﹢﹢ 148

第14章 高级函数 148

14.1重载成员函数 148

14.2使用默认值 150

14.3初始化对象 151

14.4复制构造函数 152

14.5总结 155

14.6问与答 155

14.7作业 155

14.7.1测验 156

14.7.2答案 156

14.7.3练习 156

第15章 运算符重载 157

15.1重载运算符 157

15.1.1编写递增方法 158

15.1.2重载后缀运算符 160

15.1.3重载加法运算符 161

15.1.4对运算符重载的限制 162

15.1.5赋值运算符 163

15.2转换运算符 165

15.3总结 167

15.4问与答 168

15.5作业 168

15.5.1测验 168

15.5.2答案 168

15.5.3练习 169

第五部分 继承和多态 172

第16章 使用继承扩展类 172

16.1什么是继承 172

16.1.1继承和派生 173

16.1.2动物和继承 173

16.1.3派生语法 173

16.2私有和保护 175

16.3构造函数和析构函数 176

16.4将参数传递给基类构造函数 178

16.5重写函数 181

16.5.1重载和重写 183

16.5.2隐藏基类方法 183

16.5.3调用基类方法 184

16.6总结 185

16.7问与答 185

16.8作业 185

16.8.1测验 186

16.8.2答案 186

16.8.3练习 186

第17章 使用多态和派生类 187

17.1使用虚函数实现多态 187

17.2虚成员函数的工作原理 190

17.2.1不能通过基类指针访问派生类特有的方法 191

17.2.2切除 191

17.2.3虚析构函数 193

17.2.4虚复制构造函数 193

17.2.5使用虚成员函数的代价 196

17.3总结 196

17.4问与答 196

17.5作业 196

17.5.1测验 196

17.5.2答案 197

17.5.3练习 197

第18章 使用高级多态 198

18.1单继承存在的问题 198

18.2抽象数据类型 201

18.2.1纯虚函数 203

18.2.2实现纯虚函数 204

18.2.3复杂的抽象层次结构 206

18.2.4哪些类是抽象的 209

18.3总结 210

18.4问与答 210

18.5作业 210

18.5.1测验 210

18.5.2答案 211

18.5.3练习 211

第19章 使用链表存储信息 212

19.1链表和其他结构 212

19.2链表案例研究 213

19.2.1委托 213

19.2.2链表的组成部分 213

19.3作为对象的链表 219

19.4总结 220

19.5问与答 220

19.6作业 220

19.6.1测验 221

19.6.2答案 221

19.6.3练习 221

第六部分 特殊主题 224

第20章 使用特殊的类、函数和指针 224

20.1静态成员数据 224

20.2静态成员函数 226

20.3将其他类对象作为成员 227

20.3.1访问被包含类的成员 231

20.3.2禁止访问包含类的成员 232

20.3.3按引用还是按值复制 232

20.4友元类和友元函数 232

20.5函数指针 233

20.5.1函数指针数组 235

20.5.2将函数指针传递给其他函数 237

20.5.3将typedef用于函数指针 239

20.5.4成员函数指针 239

20.5.5成员函数指针数组 241

20.6总结 242

20.7问与答 243

20.8作业 243

20.8.1问与答 243

20.8.2答案 244

20.8.3练习 244

第21章 使用C﹢﹢Ox新增的功能 245

21.1下一版C﹢﹢ 245

21.2空指针常量 245

21.3编译阶段常量表达式 247

21.4自动确定类型的变量 248

21.5新的for循环 250

21.6总结 250

21.7问与答 251

21.8作业 251

21.8.1测验 251

21.8.2答案 252

21.8.3练习 252

第22章 面向对象分析和设计 253

22.1开发周期 253

22.2模拟报警系统 253

22.2.1概念化 254

22.2.2分析和需求 254

22.2.3高级设计和详细设计 254

22.2.4其他对象 255

22.2.5设计类 255

22.2.6添加其他类 256

22.2.7事件循环 256

22.3案例研究 258

22.3.1三思而后行 259

22.3.2分而治之 259

22.3.3邮件格式 259

22.3.4初步类设计 260

22.3.5同根和不同根 261

22.3.6设计接口 262

22.3.7建立原型 263

22.3.8 80/80规则 263

22.3.9设计PostMasterMessage类 264

22.3.10应用程序编程接口 264

22.3.11小组编程 265

22.3.12需要不断考虑的设计因素 265

22.3.13使用驱动程序 266

22.4总结 271

22.5问与答 271

22.6作业 272

22.6.1测验 272

22.6.2答案 272

22.6.3练习 272

第23章 创建模板 273

23.1什么是模板 273

23.2模板实例 273

23.3模板的定义 274

23.4使用模板实例 279

23.5总结 283

23.6问与答 284

23.7作业 284

23.7.1测验 284

23.7.2答案 284

23.7.3练习 285

第24章 处理异常和错误 286

24.1程序中的各种错误 286

24.2处理意外情况 287

24.3异常 287

24.4使用try块和catch块 290

24.4.1捕获异常 291

24.4.2使用多条catch语句 291

24.4.3使用引用以多态方式捕获异常 291

24.5编写专业级代码 295

24.5.1大括号 295

24.5.2长代码行 295

24.5.3switch语句 296

24.5.4程序文本 296

24.5.5标识符命名 297

24.5.6名称的拼写和大写 297

24.5.7注释 297

24.5.8设置访问权限 298

24.5.9类定义 298

24.5.10包含文件 298

24.5.11使用const 298

24.6总结 299

24.7问与答 299

24.8作业 299

24.8.1测验 299

24.8.2答案 300

24.8.3练习 300

第七部分 附录 302

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

A.1其他进制 302

A.2不同进制之间的转换 303

A.2.1二进制 304

A.2.2为什么使用二进制 304

A.2.3位、字节和半字节 304

A.2.4什么是KB 305

A.2.5二进制数 305

A.3十六进制 305

附录B 术语表 308

附录C配套网站 314