百分跪求英译汉(C++)《C++
学习C++
C++ 融合了三个不同的编程风格,过程序程序设计由C 代表;面向对象程序设计由类改进代表C++ 增加来C,泛型程序设计, 并且普通编程, 由C++ 模板支持。这个章节突然将调查那些传统。 但首先, 我们考虑什么这份遗产暗示关于学会C++ 。一个原因使用C++ 将利用它面向对象的特点。做如此, 您需要酣然的背景用标准C, 为了那种语言提供基本的型、操作员、控制结构, 和句法规则。 如此, 如果您已经知道C, 您保持平衡学会C++ 。但这不是仅学会几更多主题词和修建事情。去的从C 到C++ 介入同样多工作象学会C 首先。并且, 如果您知道C, 您必须忘却一些编程的习性当您做与C...全部
学习C++
C++ 融合了三个不同的编程风格,过程序程序设计由C 代表;面向对象程序设计由类改进代表C++ 增加来C,泛型程序设计, 并且普通编程, 由C++ 模板支持。这个章节突然将调查那些传统。
但首先, 我们考虑什么这份遗产暗示关于学会C++ 。一个原因使用C++ 将利用它面向对象的特点。做如此, 您需要酣然的背景用标准C, 为了那种语言提供基本的型、操作员、控制结构, 和句法规则。
如此, 如果您已经知道C, 您保持平衡学会C++ 。但这不是仅学会几更多主题词和修建事情。去的从C 到C++ 介入同样多工作象学会C 首先。并且, 如果您知道C, 您必须忘却一些编程的习性当您做与C++ 的转折。
如果您不知道C, 您必须掌握C 组分、OOP 组分, 和普通组分学会C++, 但至少您不可以必须忘却编程的习性。如果您开始认为那学习的C++ 也许介入一些头脑舒展的努力在您的部份, 您正确。这本书将引导您通过过程以清楚, 有用的方式, 一步一次, 因此头脑舒展将是充足地柔和的留给您的脑子韧性。
C++ 底漆加上方法C++ 由教它的C 依据和它的新组分, 因此这本书假设您没有C 预先的知识。您开始将由学会特点C++ 份额与C 。既使您知道C, 您可以发现这书的部分好回顾。并且, 它指出将成为重要更晚的概念, 并且它表明何处C++ 与C 不同。
在您是有根据的在C 基本之后, 您将增加C++ 超结构。这时您将得知对象和类和怎么C++ 实施他们。并且您将得知模板。这本书不意欲是完全C++ 参考; 它不会探索语言的到处。但您将学会语言的所有主要特点, 包括一些, 象模板, 例外, 和namespaces, 是最近加法。
现在我们看一看简要的在一些C++'s 背景。一点历史计算机科技演变了以令人惊讶的率在过去几年期间。今天便携式计算机比三十年主机可能快速地计算和存储更多信息前。(程序员可能一些召回穿孔卡舱板轴承奉献物递交给一个强大, 室填装的计算机系统与记忆没有庄严100KB 足够的记忆今天跑好个人计算机赛。
) 计算机语言演变了, 也是。变动象剧烈不也许是, 但是他们重要。更大, 更加强有力的计算机产生, 反之, 提出新问题在程序管理和维护的更大, 更加复杂的节目。在70 年代, 语言象C 和Pascal 帮助了带位者在时代结构化编程, 非常带来一些次序和学科给领域需要这些质量的哲学。
除提供为结构化编程的工具以外, C 并且导致了紧凑, 快速跑的节目与能力一起表达硬件事态, 譬如处理的通信端口和驱动器。这些礼物被帮助做C 统治编程语言在80 年代。同时, 80 年代目击了一个新编程的范例的成长: 面向对象的编程技术, 或OOP, 依照被实现在语言譬如家常话和C++ 。
我们审查这两发展(C 和OOP) 严密。C 语言在70 年代初期, 丹尼斯・Ritchie 响铃实验室研究项目开发UNIX 操作系统。(一个操作系统是处理计算机的资源和处理它的互作用与用户的一套节目。
例如, 这是投入系统提示onscreen 并且运行节目为您。) 的操作系统为这工作Ritchie 需要是简明的, 导致紧凑, 快速的节目, 并且能高效率地控制硬件的语言。传统上, 程序员适应这些需要由使用汇编语言, 被栓严密对计算机的内部机器语言。
但是, 汇编语言是一种低级语言, 即, 它是具体的对一个特殊计算机处理器。如此如果您想要移动汇编程序向一另外计算机, 您可以完全地必须重写节目使用一种另外汇编语言。这是位好象每次您买了一辆新汽车, 您发现设计师决定改变控制是的地方并且什么他们做, 迫使您重学怎么驾驶。
但UNIX 意欲从事各种各样的计算机类型(或平台) 。那被建议使用一种高级语言。一种高级语言被安置往解决问题代替往具体硬件。特别节目叫做编译器翻译一种高级语言对一台特殊计算机的内部语言。因而, 您能由使用使用不同的平台的同样高级语言节目一个分开的编译器为各个平台。
Ritchie 想要与高级普通性和轻便结合低级效率和硬件通入的语言。如此, 修造从更旧的语言, 他创造了C 。C 编程的哲学由于C++ 嫁接新编程的哲学C, 我们应该首先看一看在C 跟随的更旧的哲学。
总之, 计算机语言应付二种概念数据和算法。数据构成信息节目用途和过程。算法是节目使用的方法(参见图1。1) 。C, 象多数主流语言迄今, 是一个程序语言。那意味它强调编程的算法边。概念性地, 程序编程包括计算在计算机应该采取和使用编程语言然后实施那些行动的行动之外。
节目为计算机规定一套规程随后而来导致一个特殊结果, 当食谱为厨夫规定一套规程随后而来导致蛋糕更加早期的程序语言, 譬如FORTRAN 和BASIC, 跑了入组织问题如同节目增长更大。例如, 节目经常使用分支的声明, 寻址施行对一或其它套指示取决于某一类的结果测试。
许多更旧的节目有这样的被缠结的发送(叫做"意粉编程") 那它实际上不可能了解节目由读它, 并且修改这样节目是邀请对灾害。在反应, 计算机学家开发了被磨练的样式编程叫的结构化编程。C 包括特点促进这种方法。
例如, 结构化编程限制分支(选择指示其次做) 对小套行为端正的建筑。C 合并这些建筑(为圈, 一会儿圈, 做当圈, 和如果声明) 它的词汇量。自上而下的设计是另新原则。想法是打破一个大节目更小, 更加易处理的任务。
如果这些任务的当中一个仍然是太宽广的, 划分它入更小的任务。继续通过这个过程直到节目被分区入小, 容易地程序模块。(组织您的研究。Aargh! 很好, 组织您的书桌、您的台式、您的文件柜, 和您的书架。
Aargh! 很好, 开始与书桌和组织各个抽屉, 从中间一个开始。Hmmm, 或许我能处理那项任务。) C 的设计促进这种方法, 鼓励您开发程序单元叫做作用代表各自的任务模块。如同您也许注意了, 结构化编程技术反射一种程序思想的倾向, 它进行的认为节目根据行动。
针对对象的编程虽然结构化编程的原则改进了节目维护清晰、可靠性, 和舒适, 大规模编程仍然依然是挑战。面向对象的编程技术(OOP) 带来一种新方法给那个挑战。不同于程序编程, 强调算法, OOP 强调数据。
而不是设法适合问题对语言的程序方法, OOP 试图适合语言对问题。想法是对对应于问题的根本特点的设计数据形式。在C++, 类是一个规格描述这样一张新数据表, 并且对象是一种特殊数据结构被修建根据那个计划。
例如, 类能描述公司执行委员(名字、标题、薪金, 异常的能力的一般物产, 例如), 当对象会代表一位具体执行委员(Guilford Sheepblat, $325,000 副总统, 会使用CONFIG。
SYS 文件) 。总之, 类定义什么数据使用代表可能进行在那数据的对象º筒僮鳌@ý如, 假设您开发一个计算机画图程序能得出长方形。您能定义类描述长方形。规格的数据部分象角落的地点能包括如此事、高度和宽度、边界线的颜色和样式, 和颜色和样式被使用填装长方形。
规格的操作码部分能包括方法为移动长方形, 重量尺寸它, 转动它, 改变的颜色和样式, 和复制长方形对其它地点。如果您然后使用您的节目得出长方形, 它将创造一个对象根据类规格。对象将拿着所有数据值描述长方形, 和您可能使用类方法修改那个长方形。
如果您得出二个长方形, 节目将创造二个对象, 一个为各个长方形。对程序设计的OOP 方法是对准确地代表那些事节目应付的第一设计组。画图程序, 例如, 也许定义类代表长方形、线、圈子、刷子、笔, 和等等。
类定义, 回忆, 包括可允许操作的描述为各类, 譬如移动圈子或转动线。然后您进行设计一个节目使用那些类对象。去的过程从组织底层, 譬如类, 一个更高的水平, 譬如程序设计, 叫由下往上编程。有比数据和方法捆绑更多对OOP 编程入类定义。
OOP, 例如, 促进创造可再用的代码, 并且那可能最终保存很多工作。信息掩藏保障数据从不正当的通入。多形性让您创造多个定义为操作员和作用, 用编程的上下文确定哪个定义被使用。继承让您从老那些获得新类。
如同您能看, 面向对象的编程技术比程序编程介绍许多新想法和介入一种另外方法对编程。而不是集中任务, 您集中代表概念。而不是采用一种自上而下编程方法, 您有时需要一种由下往上的方法。这本书将引导您通过所有这些点以大量容易地被掌握的例子。
设计有用, 可靠的类可能是一个难题。幸运地, OOP 语言使它简单合并现有的类您自己编程。贩卖者提供各种各样有用的类图书馆, 包括类图书馆被设计简化创造节目为环境譬如窗口或Macintosh 。
C++ 的当中一个真正的好处是, 它容易地让您重复利用和适应存在, 很好被测试的代码。普通编程的普通编程是另外编程的范例由C++ 支持。它与OOP 分享使它的目标更加简单重复利用代码和提取一般概念技术。
但当OOP 强调编程的数据方面, 普通编程强调算法方面。并且它的焦点是不同的。OOP 是为处理大项目的一个工具, 当普通编程提供为执行共同的任务的工具, 譬如排序数据或合并名单。期限普通手段创造是类型独立的代码。
C++ 数据表示法进来许多类型整数, 数字与分数零件, 字符, 字符, 几型用户定义的复合结构串。如果, 例如, 您想排序这些各种各样的型数据, 您必须通常创造一个分开的排序的作用为各型。普通编程介入扩大语言以便您能写作用为普通(那是没指定) 型一次, 并且使用它为各种各样的实际型。
C++ 模板为做提供一个机制那。C++ 喜欢C, C++ 开始了它的生活在响铃实验室, Bjarne Stroustrup 开发语言在80 年代初期。在他自己的词, "C++ 被设计了主要以便我朋友和我不会必须编程在装配、C, 或各种各样的现代高级语言。
它的主要目的将使文字好节目更加容易和更加宜人为单独程序员"(Bjarne Stroustrup, C++ 编程语言。第三版。读书, MA: Addison-Wesley Publishing Company, 1997) 。
Stroustrup 与使更有关C++ 有用比以强制执行特殊编程的哲学或样式。真正的编程的需要比理论纯净重要在确定C++ 语言特色。Stroustrup 根据了C++ C 由于C 的简要、它的适合对系统编程, 它的普遍可及性, 和它的密切联系对UNIX 操作系统。
C++'s OOP 方面由计算机模拟语言告诉的Simula67 启发了。Stroustrup 增加了OOP 特点和普通编程的支持来C 没有极大改变C 组分。因而C++ 是C 超集, 意味, 任一个合法的C 程序是一个合法的C++ 节目, 也是。
有一些较小差误, 但没什么关键。C++ 节目可能使用现有的C 软件图书馆。图书馆是您能召集从节目程序模块的汇集。他们提供被证明的解答对许多共同的编程的问题, 因而挽救您时刻和努力。这帮助了C++ 传播。
名字C++ 来自加1 来可变物的价值的C 增加操作员++, 。名字C++ 正确地建议C 的一个被增添的版本。计算机程序翻译一个真实问题成一系列的行动由计算机采取。当C++ 的OOP 方面给语言能力与概念关系被介入在问题, C++ 的C 零件给语言能力得到紧挨硬件(参见图1。
2) 。这个能力的组合帮助了C++ 传播。它也许并且介入齿轮一个精神转移当您转动从节目的一个方面到另一个。(的确, 某一OOP 纯正主义者看待增加OOP 特点来C 如同对增加翼来猪、虽然倾斜, 高效率的猪。
) 并且, 因为C++ 嫁接OOP C, 您能忽略C++'s 面向对象的特点。但您将错过很多如果那是所有您。在C++ 达到了之后一些成功做了Stroustrup 增加模板, 使能普通编程。并且在模板之后特点被使用了并且提高它变得明显他们是或许一样重大的加法象OOP 或更加重大, 一些会争论。
事实C++ 合并OOP 和普通编程, 并且更加传统的程序方法显示出, C++ 强调功利主义在思想方法, 并且那是语言的成功的原因的当中一个。收起