Pregunta

¿Cuál es la diferencia entre el constructor de C ++ y los Eiffels crean una declaración de procedimiento?

¿Qué valor hay en poder tener múltiples funciones de constructor para una clase? ¿O hay algún otro beneficio para que Eiffels "cree"?

Gracias

¿Fue útil?

Solución

En C ++ puede sobrecargar constructores, por lo que también puede definir múltiples constructores.

Tener procedimientos de constructor como en Eiffel tiene la ventaja, que puede definir diferentes constructores que tienen la misma firma (es decir, el mismo número y tipo de argumentos).

Solo imagina un Triangle Clase: es posible que desee construir un triángulo dando las longitudes de los tres lados (tres valores de flotación), o dando dos lados y el ángulo de encerrado (también tres valores de flotación).

En C ++ tendría que definir un parámetro adicional (por ejemplo, un valor de enumación para el 'modo de construcción'), en Eiffel simplemente puede definir dos procedimientos de construcción con diferentes nombres.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top