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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top