《C++面向对象程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:王萍,冯建华编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302124116
  • 页数:421 页
图书介绍:全书共14章,第1-6章介绍C++语言的发展史,特点和程序风格。程序设计的基本结构、步骤方法和技巧;第7-8章讲数组、结构以及指针和引用的概念和方法;第9-14章介绍面向程序设计的方法和特点。

第1章 C++编程基础 1

1.1 程序语言的发展 1

1.1.1 机器语言 1

1.1.2 汇编语言 1

1.1.3 高级语言 2

1.1.4 C语言 2

1.1.5 C++语言 2

1.2 C++语言简介 3

1.2.1 程序=数据+操作 3

1.2.2 数据类型 3

1.2.3 对数据的操作——表达式 3

1.2.4 数据操作的流程——语句控制 3

1.2.5 操作的复用——函数 3

1.2.6 数据和操作的封装——类 3

1.2.7 类的复用——派生和继承 3

1.2.8 软件模块 4

1.3 如何学习C++语言 4

1.3.1 勤能生巧 4

1.3.2 风格与规范 4

1.4 用Visual C++开发程序 4

1.4.1 程序——从概念到运行 4

1.4.2 Visual C++简介 5

1.4.3 建立应用程序 5

1.5 程序风格 7

1.5.1 效率与风格 7

1.5.2 注释——整理编程思路、增加程序的可读性 7

1.5.3 注释的形式 8

1.5.4 命名 13

1.5.5 编排 14

1.5.6 简单性原则 15

1.5.7 一致性原则 16

小结 17

第2章 基本C++程序结构 18

2.1 C++语言成分 18

2.1.1 字符 18

2.1.2 数字、标识符和表达式 18

2.1.3 语法 19

2.1.4 结构 19

2.1.5 模块 19

2.2 程序的基本结构 19

2.2.1 注释 20

2.2.2 编译预处理命令#include 20

2.2.3 main函数 20

2.2.4 C++程序的执行过程 21

2.2.5 终端输出 22

2.3 变量和简单表达式 23

2.3.1 main函数的返回值 24

2.3.2 常数和常量 24

2.3.3 变量 27

2.3.4 运算符与简单表达式 29

2.4 表达式和语句 31

2.4.1 返回值 31

2.4.2 嵌套 31

2.4.3 优先级 31

2.4.4 结合性 32

2.4.5 括号与次序 32

2.4.6 操作数 32

小结 32

习题 33

第3章 数据类型 36

3.1 数据及操作 36

3.2 C++数据类型 36

3.3 数据类型 37

3.3.1 数据在计算机中的存储 37

3.3.2 基本数据类型的修饰符号 38

3.3.3 基本数据类型 39

3.3.4 C++中的特殊字符 41

3.3.5 字符串 42

3.3.6 数据类型长度的确定 42

3.3.7 数据类型的选择 43

3.4 构造数据类型 44

3.4.1 数组 44

3.4.2 枚举 44

3.4.3 结构 46

3.5 数据输入 46

小结 48

第4章 程序流程控制 50

4.1 复合语句 50

4.2 程序的执行流程 51

4.3 分支流程 51

4.3.1 if语句 52

4.3.2 switch语句 55

4.4 循环流程 57

4.4.1 while语句 58

4.4.2 do…while语句 62

4.4.3 for循环 65

4.5 设计举例 68

4.6 其他控制语句 73

4.6.1 break语句与多重循环 73

4.6.2 goto语句 74

4.6.3 条件运算符?: 74

小结 75

第5章 函数 77

5.1 函数机制 77

5.2 函数定义 78

5.2.1 函数名 79

5.2.2 函数参数 79

5.2.3 返回类型 80

5.2.4 函数体 80

5.3 函数调用 82

5.4 程序运行时的内存分布 83

5.5 函数调用的实现机制 84

5.6 函数的参数与返回值 88

5.7 函数参数的传递方式 88

5.7.1 指针参数 88

5.7.2 引用参数 90

5.7.3 数组参数 92

5.7.4 数组参数对实在参数的改变 94

5.7.5 字符串作为参数 94

5.7.6 多维数组作为参数 96

5.7.7 main()的参数 97

5.8 函数返回值 98

5.9 const参数、const返回值与const函数 100

5.9.1 const参数 100

5.9.2 const返回值 101

5.9.3 const函数 101

5.10 作用域 102

5.10.1 局部作用域 103

5.10.2 文件作用域 104

5.10.3 覆盖问题 106

5.11 函数原型 109

5.11.1 函数作用域 109

5.11.2 函数原型 110

5.11.3 函数原型的作用 110

5.11.4 使用自己定义的函数原型 115

5.12 特殊的函数用法 115

5.12.1 内联函数 115

5.12.2 内联函数的作用 115

5.12.3 内联函数使用的限制 116

5.12.4 函数重载 116

5.12.5 使用函数重载的条件 117

5.12.6 重载函数的使用方法 117

5.12.7 函数的默认参数 118

5.12.8 递归函数 120

5.12.9 设计递归程序的方法 121

5.12.10 递归程序的优缺点 123

5.12.11 函数模板 123

5.12.12 模板的实例化 125

5.12.13 支持多种类型的模板 126

5.12.14 使用模板的注意事项 127

小结 127

第6章 简单程序设计 129

6.1 程序开发过程 129

6.2 文件之间的信息共享 130

6.2.1 外部变量 130

6.2.2 外部函数 132

6.2.3 静态全局变量与静态函数 133

6.3 头文件 135

6.3.1 #include指令 135

6.3.2 头文件内容 136

6.3.3 预编译指令 138

6.4 生存期 141

6.4.1 生存期与内存 142

6.4.2 初始化问题 143

6.4.3 局部静态变量 143

小结 144

第7章 数组与结构 146

7.1 数组 146

7.1.1 数组的定义 146

7.1.2 数组元素的访问 147

7.1.3 数组复制 149

7.1.4 数组下标越界 149

7.1.5 数组元素的初始化 150

7.1.6 多维数组 151

7.1.7 多维数组元素的访问 151

7.1.8 多维数组元素的初始化 156

7.1.9 字符串数组 156

7.1.10 数组应用举例 158

7.2 结构 162

7.2.1 结构类型的定义 162

7.2.2 结构成员的访问 163

7.2.3 结构变量的初始化 163

7.2.4 结构的赋值 164

7.2.5 结构成员 166

7.2.6 结构嵌套 167

小结 167

第8章 指针及其引用 169

8.1 指针的定义与初始化 169

8.2 指针的赋值与使用 171

8.3 指针的数据类型 174

8.3.1 void指针 176

8.3.2 NULL指针值 176

8.4 用const来限定指针 177

8.4.1 指向常量的指针 177

8.4.2 指针常量 178

8.4.3 指向常量的指针常量 178

8.5 指针与数组 179

8.5.1 指针运算 181

8.5.2 用指针对数组操作 183

8.5.3 指针与字符串 184

8.6 动态内存申请 185

8.6.1 new与delete 186

8.6.2 指针与动态数组 189

8.6.3 指针与动态结构 194

8.6.4 指针小结 201

8.7 引用的概念 201

8.7.1 引用的初始化 202

8.7.2 能够引用的数据类型 203

8.7.3 const引用 204

8.8 指针和引用 205

8.9 引用的应用 206

小结 206

第9章 面向对象程序方法 207

9.1 面向对象方法概述 207

9.1.1 面向对象的概念 207

9.1.2 面向对象方法的形成 209

9.2 面向对象方法的基本概念 210

9.2.1 对象 211

9.2.2 程序设计语言中的对象 211

9.2.3 消息 212

9.2.4 程序设计语言中的消息 212

9.2.5 类 213

9.2.6 程序设计语言中的类 213

9.2.7 继承 214

9.2.8 程序设计语言中的继承 215

9.2.9 封装 215

9.2.10 程序设计语言中的封装 216

9.2.11 多态性 216

9.2.12 程序设计语言中的多态性 217

9.3 面向对象的意义 217

9.3.1 模块化——软件质量保证 217

9.3.2 复用——软件快速开发的必由之路 218

9.3.3 走面向对象的道路 218

9.3.4 结构化程序设计 219

9.3.5 面向对象程序设计 220

9.4 面向对象的分析与设计 221

9.4.1 面向对象开发方法的生命周期 221

9.4.2 面向对象分析 221

9.4.3 面向对象设计 222

9.5 面向对象方法与软件复用 222

9.5.1 复用级别 222

9.5.2 复用的好处 223

9.5.3 面向对象方法对复用的支持 223

9.5.4 复用技术对面向对象软件开发的支持 224

9.6 面向对象程序设计语言 224

小结 225

第10章 类与对象 226

10.1 类的定义与使用 226

10.2 成员的访问控制 227

10.3 类的成员函数 231

10.3.1 成员函数的定义位置 231

10.3.2 类作用域 232

10.3.3 内联成员函数与非内联成员函数 235

10.3.4 使用内联函数的条件 236

10.3.5 const成员函数 238

10.4 类定义与头文件 240

10.4.1 使用类库中的类 243

10.4.2 类与程序结构 244

10.5 对象的创建与使用 245

10.5.1 对象的创建 245

10.5.2 对象作为函数的参数与返回值 246

10.6 this指针 247

10.7 类与结构的关系 250

10.8 举例 252

10.8.1 用数组实现的队列类 253

10.8.2 用链表实现的队列类 259

小结 265

第11章 构造函数与析构函数 267

11.1 构造函数和析构函数的意义 267

11.2 构造函数 270

11.2.1 重载构造函数 270

11.2.2 对象构造的几种方式 274

11.2.3 构造函数的默认参数 274

11.2.4 默认构造函数 275

11.2.5 拷贝构造函数 277

11.2.6 成员初始化参数表 280

11.3 析构函数 285

小结 295

第12章 静态成员、友元 297

12.1 静态成员 297

12.1.1 静态数据成员与静态函数成员 298

12.1.2 静态数据成员的初始化 299

12.2 友元 306

12.2.1 友元的说明与使用 306

12.2.2 使用友元的条件 311

12.2.3 使用友元的注意事项 311

小结 313

第13章 运算符重载 314

13.1 可以重载的运算符 314

13.2 运算符重载的规则 316

13.3 常用运算符重载举例 319

13.3.1 函数调用运算符的重载 320

13.3.2 赋值运算符的重载 323

13.3.3 双目算术运算符的重载 325

13.3.4 单目算术运算符的重载 327

13.3.5 自增自减运算符的重载 328

13.4 插入抽取运算符的重载 337

13.4.1 C++的I/O流库 338

13.4.2 插入运算符的重载 339

13.4.3 抽取运算符的重载 341

13.5 类型转换函数 345

13.5.1 构造函数充当类型转换函数 346

13.5.2 直接定义类型转换函数 347

13.5.3 隐式类型转换与显式类型转换 349

小结 350

第14章 继承 352

14.1 单继承 352

14.1.1 公有、保护和私有继承 354

14.1.2 派生类对象的构造 361

14.1.3 继承应用举例 368

14.2 多继承 372

14.2.1 多继承的定义 373

14.2.2 多继承中的构造函数与析构函数 373

14.2.3 二义性 376

14.2.4 虚基类 379

14.2.5 虚基类的初始化 380

14.2.6 多继承的应用 381

14.3 继承与类库 381

14.4 Visual C++的类库——MFC 382

小结 383

自测题答案 384

参考文献 421