4

C++ 的构造函数和 Eiffels 创建过程声明有什么区别?

一个类可以有多个构造函数有什么价值?或者埃菲尔“创造”还有其他好处吗?

谢谢

4

1 回答 1

3

在 C++ 中,您可以重载构造函数,因此您也可以定义多个构造函数。

在 EIFFEL 中使用构造函数过程的优势在于,您可以定义具有相同签名(即相同数量和类型的参数)的不同构造函数。

想象一个Triangle类:您可能想通过给出三个边的长度(三个浮点值)或通过给出两个边和包围角(也是三个浮点值)来构造一个三角形。

在 C++ 中,您必须定义一个附加参数(例如,“构造模式”的枚举值),在 EIFFEL 中,您可以简单地定义两个具有不同名称的构造过程。

于 2012-01-13T19:05:23.860 回答