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

  • 购买积分:13 如何计算积分?
  • 作  者:宛延闿编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7302051100
  • 页数:385 页
图书介绍:本书把精通C++语言专家们所获得的语言风格和习惯用法介绍给读者,以便提高读者利用C++语言高效地解决实际软件问题的能力。本书包括11章和4个附录。第一、二章介绍C++语言习惯用法的历史背景和C++语言的基本构造块;第三章介绍类的“完全”类型的习惯用法;第四章介绍继承;第五章介绍面向对象程序设计继承的多态性;第六章从结构和设计角度介绍C++语言的构造方法、风格和习惯用法;第七章研讨代码和设计的可重用性。余了部分超出了C++语言本身,进入到高级程序设计的习惯用法。第八章介绍样本实例,以取代C++类的许多重要角色;第九章集中在符号语言风格上,打破了许多C++语言程序设计所保持的基本概念以支持增量式运行时更新的习惯用法;第十章是动态多重继承;最后一章讨论高层对象中的一些系统性问题。本书的所有例子稍加修改就可以应用到具体项目之中。书中每章都附有练习题,以加强对概念和习惯用法的理解。 本书可作为计算机专业本科生的研究生的教材,也可以作为软件开发人员必备的参考书。

第一章 引言 1

1.1 C++语言演变的历史 1

1.2 处理复杂结构的习惯用法 2

1.3 对象 3

1.4 设计和语言 4

练习 4

第二章 数据抽象和抽象数据类型 5

2.1 类 6

2.2 对象转换 8

2.3 构造函数和析构函数 10

2.4 内联(inline)函数 14

2.5 静态数据成员的初始化 16

2.6 作用域和const 17

2.7 合局对象、常数和静态类成员初始化次序 18

2.8 类对象成员函数的const执行 19

2.9 指向成员函数的指针 21

2.10 程序组织的习惯约定 25

练习 26

第三章 具体数据类型 28

3.1 传统规范类格式 28

3.2 作用域和访问控制 33

3.3 重载:重定义操作和函数的语义 36

3.4 类型转换 40

3.5 引用计数:使用“可调内存”变量 43

3.6 操作符new和delete 55

3.7 把初始化从实例化中分离出来 61

练习 63

第四章 继承性 66

4.1 简单继承 67

4.2 作用域和访问控制 72

4.3 构造函数和析构函数 82

4.4 类指针转换 84

4.5 类型选择域 89

练习 89

第五章 面向对象程序设计 91

5.1 C++运行时类型支持:虚拟函数 92

5.2 虚拟析构函数 98

5.3 虚拟函数和作用域 98

5.4 纯虚拟函数和抽象基类 101

5.5 信封和信件类 102

5.6 功能元件:作为对象的函数 129

5.7 多重继承 140

5.8 继承的规范格式 148

5.9 例子 152

练习 156

第六章 面向对象设计 158

6.1 类型和类 158

6.2 面向对象设计的实践活动 161

6.3 面向对象分析和领域分析 163

6.4 对象和类的关系 165

6.5 子类型、继承和转发 172

6.6 子类型、继承和独立性的经验规则 187

练习 188

第七章 重用和对象 190

7.1 所有模拟的分解放到何处 191

7.2 设计重用 192

7.3 4种代码重用机制 193

7.4 参数化类型或模板 195

7.5 私有继承:继承支持重用吗? 203

7.6 存储重用 206

7.7 接口重用:变体 206

7.8 重用、继承和转发 207

7.9 源代码重用结构的选择 208

7.10 在重用和对象上的概括 211

练习 212

第八章 C++中的样本程序设计 213

8.1 雇员样本的例子 215

8.2 样本和类属构造函数:样本共用的习惯用法 220

8.3 自主的类属构造函数 221

8.4 抽象基样本 223

8.5 样本习惯用法框架 225

8.6 相关的表示 227

8.7 样本和程序的管理 228

练习 230

第九章 在C++中模拟符号语言的风格 236

9.1 增量式C++开发 237

9.2 符号规范格式 238

9.3 通用收集类的例子 248

9.4 支持增量装入的代码和习惯用法 252

9.5 垃圾收集 261

9.6 基本类型的封装 268

9.7 在符号习惯用法下的多重方法 268

练习 272

第十章 动态多重继承 273

10.1 多重技术窗口系统的例子 274

练习 277

10.2 防止误解的说明 277

第十一章 系统性问题 278

11.1 静态系统设计 278

11.2 动态系统设计 284

练习 295

附录A C++环境中的C 296

A.1 函数调用 296

A.2 函数参数表 297

A.3 函数原型 297

A.4 调用引用参数 298

A.5 参数个数不定 301

A.6 函数指针 303

A.7 const类型说明符 304

A.8.1 设计的考虑 307

A.8 C代码的接口 307

A.8.2 与C语言连接 308

A.8.3 从C调用C++ 309

A.8.4 在C和C++之间共享头文件 310

A.8.5 将C数据输入到C++ 314

A.8.6 将C++数据输入到C 314

A.9 操作符引用返回值 316

练习 318

附录B Shapes程序的C++代码 319

附录C 符号的Shapes 331

附录D C++中块结构程序设计 372

D.1 什么是块结构程序设计 372

D.2 构造基本块结构的C++程序设计 373

D.3 有深度嵌套作用域块的选择 375

D.4 块结构的视频游戏代码 379

参考文献 385