Eiffel "crea" su costruttore C ++?
Domanda
Qual è la differenza tra il costruttore di C ++ e gli eiffel creano una dichiarazione di procedura?
Che valore c'è nella possibilità di avere più funzioni di costruttore per una classe? O c'è qualche altro vantaggio in Eiffels "Crea"?
Grazie
Soluzione
In C ++ puoi sovraccaricare i costruttori, quindi puoi definire anche più costruttori.
Avere procedure di costruttore come in Eiffel ha il vantaggio, è possibile definire costruttori diversi con la stessa firma (cioè lo stesso numero e tipo di argomenti).
Immagina solo un Triangle
Classe: potresti voler costruire un triangolo dando le lunghezze dei tre lati (tre valori float) o dando due lati e l'angolo racchiuso (anche tre valori galleggianti).
In C ++ dovresti definire un parametro aggiuntivo (ad esempio un valore enum per la "modalità di costruzione"), in Eiffel è possibile definire due procedure di costruzione con nomi diversi.