《C++程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:闵联营编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302229117
  • 页数:392 页
图书介绍:本书是一本全面、系统地介绍C++程序设计的教程。

第1章 C++概述 1

1.1 程序设计语言 1

1.1.1 机器语言 1

1.1.2 汇编语言 2

1.1.3 高级语言 2

1.2 算法及算法的表示方法 4

1.2.1 算法的概念 4

1.2.2 算法的表示方法 5

1.3 C++的发展和特点 8

1.3.1 C++的发展 8

1.3.2 C++的特点 9

1.4 C++程序的基本框架 9

1.4.1 最简单的C++程序 9

1.4.2 结构化程序设计框架 12

1.4.3 面向对象程序设计框架 13

1.5 C++程序的开发过程 15

1.5.1 C++程序开发的一般过程 15

1.5.2 用Visual C++开发C++应用程序的步骤 16

习题 18

第2章 C++数据类型 20

2.1 基本数据类型 20

2.1.1 数据在计算机中的存储 20

2.1.2 标识符 21

2.1.3 数据类型修饰符 22

2.2 常量和变量 23

2.2.1 常量 23

2.2.2 变量 25

2.3 运算符和表达式 27

2.3.1 算术运算符和算术表达式 27

2.3.2 赋值运算符和赋值表达式 28

2.3.3 关系运算和逻辑运算 29

2.3.4 条件运算符 31

2.3.5 逗号运算符 31

2.3.6 位运算符 32

2.3.7 sizeof运算符 32

2.3.8 运算符优先级与结合性 33

2.3.9 数据类型转换 34

2.4 数据的输入和输出 35

2.4.1 用cout进行输出 35

2.4.2 用cin进行输入 36

习题 37

第3章 程序控制语句 38

3.1 选择语句 38

3.1.1 if语句 38

3.1.2 switch语句 43

3.2 循环语句 45

3.2.1 while语句 45

3.2.2 do语句 47

3.2.3 for语句 48

3.2.4 循环的嵌套 50

3.2.5 break和continue语句 52

3.2.6 goto语句 53

习题 54

第4章 数组和结构体 55

4.1 数组 55

4.1.1 数组的定义和存储 55

4.1.2 数组元素的引用 57

4.1.3 数组的初始化 58

4.1.4 数组的应用 61

4.2 结构体 70

4.2.1 结构体概述 70

4.2.2 结构体类型变量的定义和引用 71

4.2.3 结构体数组 74

习题 75

第5章 函数 77

5.1 函数概述 77

5.2 函数的定义和调用 79

5.2.1 函数定义的一般形式 79

5.2.2 函数的调用 80

5.2.3 函数原型 82

5.2.4 函数的参数传递 83

5.3 函数的嵌套和递归 94

5.3.1 函数的嵌套调用 94

5.3.2 函数的递归调用 95

5.4 内联函数 97

5.5 函数重载 98

5.6 变量的作用域和存储期 101

5.6.1 程序的内存区域 101

5.6.2 局部变量和全局变量 103

5.6.3 变量的存储期 106

5.6.4 存储类别小结 110

5.7 预处理命令 112

5.7.1 宏定义命令 112

5.7.2 文件包含命令 113

5.7.3 条件编译命令 114

习题 116

第6章 指针和引用 117

6.1 指针 117

6.1.1 地址和指针的概念 117

6.1.2 指针的定义和使用 118

6.1.3 指针与数组 124

6.1.4 指针与函数 133

6.1.5 指针与结构体 136

6.1.6 const修饰符和指针 145

6.2 引用 146

6.2.1 引用的概念 146

6.2.2 引用作函数参数 148

6.2.3 引用返回值 149

6.2.4 用const限定引用 151

习题 151

第7章 从过程抽象到数据抽象 153

7.1 从过程抽象到数据抽象 153

7.1.1 集合的实现与使用 153

7.1.2 将集合的实现与使用分开 156

7.1.3 将集合用链表实现 159

7.1.4 将集合的数据表示和操作封装在一起 161

7.2 面向对象程序设计的基本概念和特征 165

7.2.1 面向对象程序设计的基本概念 165

7.2.2 面向对象程序设计的三大特征 167

7.2.3 从面向过程的程序设计到面向对象的程序设计 172

习题 175

第8章 类和对象 176

8.1 类的定义 176

8.1.1 类的定义 176

8.1.2 类的数据成员 177

8.1.3 类的成员函数 178

8.1.4 类成员的访问控制 180

8.2 对象 181

8.2.1 对象的定义和使用 181

8.2.2 对象在内存中的存放 183

8.2.3 this指针 185

8.3 构造函数和析构函数 186

8.3.1 构造函数 186

8.3.2 带默认参数的构造函数 188

8.3.3 重载构造函数 189

8.3.4 复制构造函数 190

8.3.5 析构函数 194

8.3.6 成员对象的构造和析构 195

8.4 对象数组和对象指针 198

8.4.1 对象数组 198

8.4.2 对象指针 200

8.5 静态成员 203

8.5.1 静态数据成员 204

8.5.2 静态成员函数 205

8.6 友元 206

8.6.1 友元函数 207

8.6.2 友元类 209

8.7 常类型 209

8.7.1 常对象 209

8.7.2 用const修饰的类成员 210

习题 212

第9章 继承与派生 214

9.1 派生类 214

9.1.1 派生类的定义 214

9.1.2 派生类生成过程 215

9.1.3 派生类的构造函数和析构函数 218

9.2 访问控制 220

9.2.1 公有继承 221

9.2.2 私有继承 222

9.2.3 保护继承 223

9.3 虚基类 225

9.3.1 多继承中的二义性问题 225

9.3.2 虚基类的概念 229

9.3.3 虚基类的构造函数 230

习题 234

第10章 多态性 236

10.1 多态性概述 236

10.1.1 静态联编 236

10.1.2 动态联编 238

10.2 运算符重载 240

10.2.1 运算符重载的方法和规则 240

10.2.2 运算符重载为成员函数 244

10.2.3 运算符重载为友元函数 247

10.3 虚函数 248

10.3.1 虚函数的定义及使用 248

10.3.2 动态联编的一种典型实现方案 254

10.3.3 纯虚函数和抽象类 256

10.3.4 虚函数的应用示例 260

习题 264

第11章 模板 265

11.1 模板的概念 265

11.2 函数模板和模板函数 266

11.2.1 函数模板的定义和模板函数的生成 266

11.2.2 函数模板的使用 268

11.2.3 函数模板的特化 270

11.2.4 用函数模板实现基本算法 271

11.3 类模板和模板类 273

11.3.1 类模板的定义 273

11.3.2 类模板的使用 275

11.3.3 类模板的派生 278

11.3.4 类模板的特化 282

11.3.5 string类的使用 285

习题 290

第12章 标准模板库STL 292

12.1 标准模板库STL概述 292

12.1.1 STL的发展历史 292

12.1.2 STL的组成 293

12.2 容器类 295

12.2.1 顺序容器 296

12.2.2 关联容器 313

12.3 STL算法 323

12.3.1 for_each 324

12.3.2 count和count_if 325

12.3.3 copy和remove 327

12.3.4 transform 329

12.4 迭代器 331

12.4.1 迭代器的分类 331

12.4.2 迭代器的特性 335

12.4.3 traits技术 337

12.4.4 与迭代器相关的函数 342

12.4.5 指针与迭代器 343

12.5 函数对象 345

12.5.1 函数对象的概念 345

12.5.2 STL中的函数对象 348

12.6 适配器 349

12.6.1 容器适配器 349

12.6.2 迭代器适配器 355

12.6.3 函数适配器 361

习题 371

第13章 C++的I/O流类库 372

13.1 C++的流及流类库 372

13.1.1 C++的流 372

13.1.2 流类库 372

13.2 格式化I/O 375

13.2.1 用ios类的成员函数进行格式控制 375

13.2.2 使用I/O操纵符进行格式控制 378

13.3 重载I/O运算符 380

13.3.1 重载输出运算符“〈〈” 380

13.3.2 重载输入运算符“〉〉” 382

13.4 文件流 383

13.4.1 文件的打开和关闭 383

13.4.2 文件的读写 386

习题 392