- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附件一:外文资料翻译译文
软件开发技术
第1章C++发展及特点
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编译语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
本文将介绍C++相关的知识,当然都是比较粗略的介绍其中的基本内容,仅仅起到抛砖引玉的作用,如果读者需要更详细的信息,请参考相应的C++的书籍。
1.1 C++语言的诞生
C++语言是从C语言发展而来的,而C语言的历史可以追溯到1969年。在1969年,美国贝尔实验室的Ken Thompson为DEC PDP-7计算机设计了一个操作系统,这就是最早的UNIX。接着,他又根据剑桥大学的Martin Richards设计的BCPL语言为UNIX设计了一种便于编写系统软件的语言,命名为B。作为系统软件编程语言的第一个应用,Ken Thompson使用B语言重写了其自身的解释程序。1972-1973年间,同在贝尔实验室的Denis Ritchie改造了B语言,为其添加了数据类型的概念,并将原来的解释程序改写为可以直接生成机器代码的编译程序,然后将其命名为C,1973年,Ken Thompson小组在PDP-11上用C语言重新改写了UNIX的内核。与此同时,C语言的编译程序也移植到IBM360/370,Honeywell-11及VAX-11/780等多种计算机上,迅速成为应用最广泛的系统程序语言。
然而,C语言也存在一些缺陷,如类型检查机制相对较弱,缺少支持代码重组的机制等,造成用C语言开发大型程序比较困难。为了克服C语言存在的缺点,贝尔实验室的Bjarne Stroustrup博士及其同事开始对C语言进行改进和扩充,将“类”的概念引入了C语言,构成了最早的C++语言(1983),后来Stroustrup和他的同事们又为C++语言引进了运算符重载、引用、虚函数等许多特性,并使之更加精炼,于19989年推出了ATTCC++2.0版。随后美国国家标准化协会ANSI(American Nation Standard Instiute)和国际标准化组织ISO(International Standard Organization)一起进行了标准化工作,并于1998年正式发布了C++语言的国际标准ISO/IEC:98-14882.各软件商推出的C++语言编译器都支持该标准,并有不同程度的扩展。C++语言支持面向对象的程序设计方法,特别适合于中型和大型的软件开发项目,从开发时间、费用到软件的重用性、可扩充性、可维护性和可靠性等方面,C++语言均有很大的优越性。同时,C++语言又是C语言的超集,这就使得许多C语言代码不经修改就可以被C++语言编译通过。
1.2 C++语言的特点
1.2.1 对象:特性+行为
第一个面向对象的程序设计语言是60年代开发的Simula-67。其目的是为了解决模拟问题。典型的模拟问题是银行出纳业务,包括出纳部门、顾客、业务、货币的单位等大量的“对象”。
把那些在程序执行期间除了状态之外其他方面都一样的对象归在一起,构成对象的“类”,这就是“类”一词的来源。类描述了一组有相同特性(数据元素)和相同行为(函数)的对象。类实际上就是数据类型,例如,浮点数也有一组特性和行为。区别在于程序员定义类是为了与具体问题相适应,而不是被迫使用已存在的数据类型。这些已存在的数据类型的设计动机仅仅是为了描述机器的存储单元。程序员可以通过增添他所需要的新数据类型来扩展这个程序设计语言。该程序设计系统欢迎创建、关注新的类,对它们进行与内部类型一样的类型检查。这种方法并不限于去模拟具体问题。尽管不是所有的人都同意,但大部分人相信,任何程序都模拟所设计系统。OOP技术能很容易地将大量问题归纳成为一个简单的解,这一发现产生了大量的O O P语言,其中最著名的是Smalltalk—C++之前最成功的OOP语言。抽象数据类型的创建是面向对象程序设计中的一个基本概念。抽象数据类型几乎能像内部类型一样准确工作。程序员可以创建类型的变量(在面向对象程序设计中称为“对象”或“实例”)并操纵这些变量(称为发送“消息”或“请求”,对象根据发来的消息知道需要做什么事情)。
1.2.2 继承:类型关系
类型不仅仅说明一组对象上的约束,还说明与其他类型之间的关系。两个类型可以有共同的特性和行为,但是,一个类型可能包括比另一个类型更多的特性,也可以处理更多的消息(或对消息进行不同的处理)。继承表示了基本类型和派生类型之间的相似性。一个基本类型具有所有由它派生出来的类型所共有的特性和行为。程序员创建一
原创力文档


文档评论(0)