Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
C++ 的构造函数和 Eiffels 创建过程声明有什么区别?
一个类可以有多个构造函数有什么价值?或者埃菲尔“创造”还有其他好处吗?
谢谢
在 C++ 中,您可以重载构造函数,因此您也可以定义多个构造函数。
在 EIFFEL 中使用构造函数过程的优势在于,您可以定义具有相同签名(即相同数量和类型的参数)的不同构造函数。
想象一个Triangle类:您可能想通过给出三个边的长度(三个浮点值)或通过给出两个边和包围角(也是三个浮点值)来构造一个三角形。
Triangle
在 C++ 中,您必须定义一个附加参数(例如,“构造模式”的枚举值),在 EIFFEL 中,您可以简单地定义两个具有不同名称的构造过程。