文档介绍:悦+ + 高级程序设计
宛延编著
清华大学出版社
书
(京)新登字员缘愿号
内容简介
本书把精通 C ++ 语言专家们所获得的语言风格和习惯用法介绍给读者,以便提高读者利用 C + +
语言高效地解决实际软件问题的能力。本书包括 11 章和 4 个附录。第一、二章介绍 C + + 语言习惯用
法的历史背景和 C ++ 语言的基本构造块;第三章介绍类的“完全”类型的习惯用法;第四章介绍继承;
第五章介绍面向对象程序设计继承的多态性;第六章从结构和设计角度介绍 C + + 语言的构造方法、风
格和习惯用法;第七章研讨代码和设计的可重用性。余了部分超出了 C + + 语言本身,进入到高级程序
设计的习惯用法。第八章介绍样本实例,以取代 C ++ 类的许多重要角色;第九章集中在符号语言风格
上,打破了许多 C ++ 语言程序设计所保持的基本概念以支持增量式运行时更新的习惯用法;第十章是
动态多重继承;最后一章讨论高层对象中的一些系统性问题。本书的所有例子稍加修改就可以应用到
具体项目之中。书中每章都附有练习题,以加强对概念和习惯用法的理解。
本书可作为计算机专业本科生和研究生的教材,也可以作为软件开发人员必备的参考书。
版权所有,翻印必究。
本书封面贴有清华大学出版社激光防伪标签,无标签者不得销售。
书名:C ++ 高级程序设计
作者:宛延闿编著
出版者:清华大学出版社(北京清华大学学研大厦,邮编 100084)
http:/ / www. tup. tsinghua. edu. cn
印刷者:北京昌平环球印刷厂
发行者:新华书店总店北京发行所
开本:787 × 1092 1 / 16 印张:24 75 字数:571 千字
版次:2002 年 4 月第 1 版 2002 年 4 月第 1 次印刷
书号:ISBN 7302051100 / TP· 2990
印数:0001 ~ 6000
定价:32. 00 元
序言
当今 C ++ 语言的使用已相当普及,它深入到信息产业的各个领域。基于这种状况,
我们认为有必要对 C ++ 语言的风格和习惯用法加以研究,以促进 C + + 语言的应用和发
展,所以本书是为有一定 C ++ 开发经验的人员设计和编写的。为了更加精通 C + + 程序
设计,我们不仅要深刻地了解如何学习一种新的程序设计语言,而且更重要的是如何利用
这种语言高效地解决实际的软件问题。
学习程序设计语言
通常,在语言手册中,并非读者所要了解的东西都能完全描述出来。其实做任何事情
都不可能面面俱到,学习程序设计语言也是这样。学习语言的语法可以使我们朝着更深
层次的思维方向理解,但这仅仅是深化理解的开始,更重要的是大多数我们系统所要建立
的程序结构的准则,应当表述设计概念的风格和习惯用法。
风格应当把优点和技能区分开来。一种高效的主体风格或者是高效的程序设计风格
来自于个人的经验和在其他经验基础之上建立起来的风格。软件工程师应当知道如何选
择与应用相匹配的程序设计语言,以编写出优秀的、结构良好的程序。为了达到这个层次
的水平,我们需要超越一些规则,抛弃死记硬背的学习方式,最后达到概念和结构上的抽
象,这就是本书所说的“高级”的含义所在。
程序设计的准则、约定和概念推动了所建立的系统结构,使我们更加清晰地了解到系
统的模型是如何建立的。问题分解和系统组合的模型是一种范型,是把现实世界分为可
管理部分的模式。C ++ 语言是多重范型语言,C 程序员使用 C + + 就好像使用最好的 C
一样,面向对象主张事物的多态性。事实上,不同的方法通常必须表达对软件问题高效、
优美的问题解。
学习程序设计语言就像学习一种自然语言一样,基本的语法知识可以让程序员在编
写过程时更加简单,程序编写得也更加简洁,好像一个人仅从几千个词语的字典中就可以
撰写出美丽动人的童话故事一样。
但学习语法和基本语义是需要花费相当多的时间的,不可能一下子就挖出个金娃娃。
语言的奥妙属于另一类复杂的问题。学习程序设计语言与学习自然语言的差别就在于要
学习语言的习惯用法。例如,在 C 本身不存在把构造
while(cp1 ++ = cp2 ++);
作为基本构造块来处理,而一个不熟悉这种构造的程序员却不曾发觉。
在程序设计中,像自然语言一样,重要的习惯用法,或者说好的习惯用法可以大大减
轻程序员的工作量,就好像在任何一种语言中习惯用法丰富了相互之间的交流一样。程
序设计的习惯用法是可重用程序设计的“表述”。在同样的意义下,类是设计和代码的可
· Ⅰ·
重用单位。简单