..
其中的 C + +语言的独特功能比其他的编程语言,当然我们确定了扩大,除了函数或类方法的机理还使用重载运算符的可能性。
概括地说,把“超载 ,一般来说,一个区分具有相同名称(通常做一个相似但不完全相同)的数量和提供的参数的类型为基础的功能机制。
例如,我定义了两个打印功能,一个通用的(无参数),打印了一系列预定的信息,另一个在其中用户可以通过设置参数指定适当的,哪些信息感兴趣的是因此,要打印的。
打印功能,因此,在这种情况下重新定义,以适应不同的信息由用户输入提供。 同样,C + +允许你重新定义运营商:我们的数学运算符认为“+”,“ - ”,“*”和“/”。 它可以是有趣和实用,例如,重新定义“+”操作符应用,如果不是数字,而是字符串(字母数字字符集)。 在后一种情况下,“总结”对应的字符串的连接,例如,如果字符串为“Hello”和b在字符串“世界”,操作
字符串C = A + B导致字符串C,其值是“Hello world”的创作。
'S 超载,特别是运算符重载在C + + ,仍在治疗中的一篇文章,这是我们作进一步调查参考。
我们现在提出要考虑,但是,具体怎么同样的机制可以扩展到其它类型的运营商,如何有用,特别是参考了new和 delete操作符,对内存的管理。
新和 delete操作符是非常有用的内存管理,特别是储备和分配(或分配)的一个新的对象(新)和自由(或释放),以供将来使用(删除)内存所需的内存。
一个非常有趣的是C + +,它区别于C时,它是新的和删除的存在,允许,例如关于新的,计算每个对象所需的空间自动(当命令相当于C,malloc的,需要程序员来指定什么是对象的大小来分配)。
在这一点上很自然地想知道可能是一个重载机制作用,因为新的和删除的实力仅仅是一个伟大的普遍使用,它似乎没有必要作出新的定义,考虑到一些案件。 一个经营者的价格是如此的普通,但是,正如经常发生, 在控制一定的不足。 例如,它是不可能的,采用新的运 营商默认版本,只需检查是否有必要在分配内存(内存?已分配是否正确?)的问题。 为了克服这个问题可以求助于“超载。
所以,现在我们将讨论一个简单的例子,一个新的经营者超载的情况下,强调考虑给予和程序是有效的,即使你想删除超载运营。
| |
Linux操作系统(课程)
完整指南开源系统。 从49€。 |
| |
刻录CD和DVD(电子书)
指南免费节目刻录CD和DVD。 只需25€。 |
| |
Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。 |