1、 毕业设计外文资料翻译 学 院: 信息科学与工程学院 专 业: 计算机科学与技术 姓 名: 学 号: 外 文 出 处 : Norbert PATAKI , Faculty of Electrical Engineering and Informatics, Technical University of Koice, Versita Open, 2011 : 1335-8243 附 件: 1.外文资料翻译译文; 2.外文原文。 指导教师评语: 签名: 2012 年 3 月 16 日 附件 1:外文资料翻译译文 隐蔽方法在 C+ 摘要 :如今复杂的软件系统的设计和实施的主要面向对象的范式的帮助。
2、然而,面向对象 的语言支持不同的方式与不同的结构面向对象的范例。 C + +中有一个精良的传承符号的基础上的访问修饰符。 C + +的区别虚拟的,纯粹的虚拟和非虚拟方法。 Java 的使用 final 的类和方法来禁用继承。然而, Java 不支持多重继承。艾菲尔允许重命名继承的方法。在本文中我们提出的一些方法公用程式 C + +中创建更安全和更灵活的面向对象的系统。我们提出如何与 C + +的模板设施的帮助下实施。我们目前的情况下,可以编写更安全的代码,我们构造。 关键词 : C+,方法,面向对象编程,模板 1. 引言 面向对象 编程( OOP)仍是最常见的编程范式。它代表企图以使程序更加紧
3、密地塑造人们的思维方式和处理与世界。在编程的旧样式,一名程序员面临着一些问题,必须确定一个计算任务,需要执行为了解决这个问题。在这种方式中,编程包括找到一个指令序列,将完成这项任务。在面向对象的境界,而不是我们找对象 - 实体,有行为的任务,持有信息,并且可以彼此互动。编程由一组对象的设计模式的问题。在程序中的软件对象可以代表在问题域的真实或抽象的实体 12。这是应该使设计方案更自然因此更容易得到正确的和更容易理解。许多编程语言支持 objectorientationSimula 的 67 是第一语言支持这一论断。语言,如 C +, C和 Java 时下最有名的。艾菲尔已被开发贝特朗 迈耶在
4、1986 年 11,这是也面向对象的语言。脚本语言通常基于面向对象的范例。然而,对于例如当前版本支持的 PHP 的 OOP。事实上,不同的语言支持不同的这种范式结构 8。这些构造的高度分析和互相比较,因为普及面向对象编程范式 3, 6, 7, 9。例如, C + +不具有的每一个的超类类,但在 Java Object 类是类层次的根。 C + +的区别公共,私人和保护继承。一个可以在 Java 和 C写的最后一堂课这是不能父 1 4。 C + +是一种多范例编程语言支持面向对象的范例 18。多重继承是允许的,但没有语言结构最终类,最终方法,或重命名的方法 2。在 C + +基类中的方法是隐藏的
5、,当一个方法在派生类中声明的名称相同,但与 窗体顶端 不同的参数类型和 /或数量 16。虽然,这可以避免使用声明,这种情况是奇怪的 12。 C +提供的模板编写通用的构建函数和类。然而,一个新的方向一直与这种结构称为模板元编程( TMP)之间等方面的优势 - 元编程 - 能够在编译时检查的条件。如果失败的条件,可 以停止编译过程。然而,在本文中,我们不处理元程序,但我们模板的力量优势。我们作出的努力,使 C + +的复杂得多。我们开发的 C + +处理的有用的扩展面向对象更复杂的方式 14,15,20,21。本文组织如下。 unhidable 方法在 C + +,在第 2 节详述。方法命名方案在第 3 节描述。发展的最终方法是在第 4 节详细。我们的结果和说明我们在今后的工作 在第 5 节。 2.UNHIDABLE 方法 这是常见的错误,在 C+ +的虚拟签名在基类和派生类的方法不同意。在这虚拟方法不能重写,但隐藏。让我们考虑以下代码片段: struct X virtual void f() std:cout X:f() std:endl; virtual X() ; struct Y:X virtual void f() const std:cout Y:f() f();