基本信息
- 原书名:Standard C++ with Object-Oriented Programmin,Second Edition
- 原出版社: Thomson Learning

内容简介
计算机书籍
<font color="#CC0000">教授C++的一本很好的教材和工具书</font>
现在有很多书适用于教授C++语言程序设计课程,其中许多是技术参考书,而这些书中一般不包含例子和习题。本书将C++作为一个工具用来连接现实世界的应用,讲述面向对象程序设计基本的理论概念。本书的组织和编写遵循简单、明了、易于仿效的原则。书中开发了许多有趣的例子和具有挑战性的练习题,以加强本书的传教功能。
<font color="#CC0000">在这个新版本中:</font>
◆描述了新的ANSI C++标准
◆包括关于模版库的内容
◆提供关于标准Web应用程序和如何利用它们来使用C++的内容
◆指导读者动手编写有趣的例子程序来学习C++程序设计
◆描述了初级的C++基本组件(第1章和第2章)和面向对象程序设计的特征
可以在Internet上访问我们:<a href="http://www.thomson.com/learning/learning.jsp" target="_blank">www.thomsonlearning.com
</a>
想要得到我们的产品和服务的更多信息,可以下载版本,并且查找我们的目录,请登录 <a href="http://www.brookscole.com" target="_blank">http://www.brookscole.com
目录
1.1 面向对象程序设计的结构
1.2 函数
1.3 运行第一个例子
1.4 语句
1.5 while语句
1.6 简单条件语句
1.7 字符与字符输入和输出
1.8 其他基本结构
1.9 数据类型和声明
1.10 操作符和表达式
1.11 枚举
1.12 数组
1.13 指针
1.14 一个实例
1.15 迭代控制
1. 16 通过switch进行选择
1.17 小结
习题
第2章 C++入门之二:基于对象的编程
译者序
对于应用程序开发人员来说,本书提供的类库有助于完成许多任务,以前需要的大量工作,现在简化成了很少的代码。
经过三个月的艰苦努力,我们终于放下手中的笔,松了一口气,此时此刻,我们感到极度疲惫,但也难抑心中的激动,但愿给广大读者带来的益处能使这份良苦用心和心血得到补偿。
在本书的翻译和校对工作中得到了很多同仁的帮助和指导,在本书出版之际,对此表示衷心的感谢。
由于时间仓促,译文中难免出现错误和不当之处,敬请广大读者指正。
李 健
前言
在标准C++语言中引入了许多新的特性,它们包括布尔类型、异常、名称空间、运行时类型标识符、类型转换符表示法和带有通用算法的模板库。标准C++语言也修改和扩展了许多已有特性,包括宽字符类型、模板和函数调用解析。一个新的string类使得字符串更加容易使用。
本书是《C++ wigh Object -Oriented Programming》的一个修订本包括了标准C++的所有内容并且保留了以前的内容。C++的构造与清晰、简明的ooP技术相匹配。语言机制独立地进行解释并再组合起来以达到OOP的目的。基于对象的、面向对象的和通用的程序设计技术在本书的实例程序中都有示范,以显示它们在实际中的应用。第12章还讲述了如何将C++语言应用到Web CGI程序设计中。
面向对象
因为C++语言效率非常高并且支持OOP,所以它非常重要。因此OOP的概念和技术就作为C++程序设计的集成部分来讲述。这样就将OOP概念带回了现实中,使得它们变得容易理解。面向对象很早就进行过介绍并且用许多完整的例子进行了说明。在这里将明确地讲述怎样用这些技术来解决问题,以及这些技术怎样使程序变得更加灵活,并可复用。
关键的面向对象的概念,加数据抽象、封装、信息隐藏、用对象处理的问题、通用化、继承和多态性,将在本书中进行全面的介绍。面向对象设计的基础知识也包含在其中。它们通过许多C++的实例进行说明。例如本书包守了一个银行账户的例子,这个例子贯穿了许多章节,并且不断地有新的内容加入。
动手实践的方法
学习编程的最好方法就是去写程序。介绍了清晰的概念和很好的例子之后,本书就鼓励你尽快编写有趣的程序。第1章和第2章介绍C++语言的重要组成部分和面向对象程序设计,从而使你快速入门。关于对象内容的介绍(如C++编程技巧)和风格向导将帮助你开始学习编程。
在第5章介绍—个袖珍计算器模拟程序。这个程序随着新章节和例子的引入而不断更新。最后,在第13章就会完成一个逼真的小计算器程序了,它包含了许多重要的OOP概念和C++结构。
内容的全面概括
本书全面而深入地介绍了标准C++语言。根据学生的需要,将标准C++描述为一个完整的自我解释的语言。本书还包含了许多不断更新的例子,提供了许多机会重新访问熟悉的代码,并且将注意力集中在引入的新的概念和特性上。
可以将本书作为一门课程的教材。除了基本的主题外,本书还包括标准库、I/O流类、模板、标准板库(STL)、通用算法、程序组织、头文件的使用、错误和异常处理、预处理和编译(在UNIX上和在PC机上)。
面向对象的重点主题包括以下内容:建立软件对象,比较内部工作与外部行为,用封装减少复杂性,在已有的类上派生出新类,编写通用的、可以在许多情况下重用的代码,创建使用了插入兼容的软件“黑匣子”,并且建立与多种类型对象一起工作的多态性过程和对象。同时也包含面向对象的设计技术、方法和应用。
OOP使得编程变得简单
标准C++是一个巨大并且复杂的语言。它在新的OOP的概念和支持C++结构方面很容易使人迷惑。只有通过努力才能使这个复杂的课程变得容易掌握和易于理解。这个过程是以简单的话题和关键的概念作为基础的。然后,以逻辑的顺序添加更高级的主题。书中还描述可能遇到的问题并且提供了答案。清晰有趣并且实用的例子说明了如何编写面向对象的程序和怎样应用所介绍的概念和技术。
继承是OOP的一个关键特性,它对于初学编程的程序员来说比较难于理解。书中绘制了一个派生类清晰的结构图以及它与一个基类的关系,派生类是建立在这个基类之上的。而且明确地提供了派生的原理和它的恰当用法。多重继承部分也有清晰的好例子。
多态性和插入兼容是OOP的核心技术,应该非常熟练地使用它们。在本书中用了整整一章来描述这两个主题,提供的材料足以向最聪明的学生提出挑战。Web应用
用C++编写的CGI程序可以快速、高效地执行。本书用一章简练地描述了HTML格式和CGI程序设计的过程,这一章是OOP概念和C++技术的一个很好的应用。该章还给出和解释了一个用于C++编程的C++类库,以及怎样使用这个库进行C++程序设计。
灵活的用法
本书可以作为一门程序设计课程的教材,课程对象可以是大学三年级、四年级的本科生或刚入学的研究生。本书假设读者没有C语言基础,但是最好有一定的程序设计经验,这样可以更好地理解软件的复杂性。如果你已经具有C语言或者ANSI C语言方面的知识,那么它将减少你的学习量。对于一个初级的读者来说,前面章节中的内容应该仔细研究。高级的主题,如用户定义的自由存储管理、CGI编程(第12章)和面向对象设计(第13章)可以忽略不读。对于一个高层次读者来说,第1章和第14章可以作为背景材料进行阅读,从而为其他的主题留出更多的时间。
序言
大型软件是人类有史以来所创造的最复杂的结构。软件的设计、制作、维护和改进需要庞大、昂贵的人力。面向对象程序设计(Object Oriented Programming OOP)是新近发展的软件技术,它的应用能使软件的难度和费用大幅减低,因此已为世界软件产业带来革命性的突破。
OOP提倡以软件对象来模拟实际。一个对象就像一个独立的小计算机,有明确的外部功能和内部运作。这种内外分隔可大幅减低软件的复杂性。以对象的相互联系合作而构成的程序更能降低软件的抽象度以及“命题领域”和“解答领域”的理解间隔。
标准C++是被最为广泛接受的一种OOP语言。本书对C++做了详尽的介绍,而且每个C++的特点和运用都举例进行了说明。一个缺乏OOP设计的程序最多是个传统程序,更坏的是被扭曲变形来产生类。本书把OOP的方法和设计融合在C++中一并说明。更重要的是解释如何将C++各项功能综合并运用来达到OOP的目的。
希望本书能满足国内电脑从业者及学生们的需要。同时读者可在作者网站上找到其他有关OOP的书籍。作者衷心盼望读者能给予批评和指教,来函请寄作者网站:
http://sofpower.com
http://monkey.cs.kent.edu/—pwang
王士弘(Paul S.Wang)