Ciao a tutti,
so benissimo che in ogni classe deve esserci un costruttore di default (quindi un costruttore senza parametri), ma se creo un costruttore che accetta parametri inizializzandoli automaticamente? mi spiego meglio:
Ho questa classe:
e questa classe:codice:class complex { //stato interno double real, imag; //metodi public: //costruttore complex(); //costruttore di default complex(double r, double i); void print(); //metodi getter/setter double getReal(); double getImag(); void setReal(double newValue); void setImag(double newValue); };
la prima prevede il costruttore di defaultcodice:class complex { //stato interno double real, imag; //metodi public: //costruttore complex(double r = 0.0, double i = 0.0 ); void print(); //metodi getter/setter double getReal(); double getImag(); void setReal(double newValue); void setImag(double newValue); };
che richiama a sua volta l'altro costruttore passandogli i valori 0 e 0 (in modo tale da inizializzare il numero a 0).codice:complex::complex() : complex(0,0) {};
L'altra classe non ha il costruttore di default e all'apparenza funziona lo stesso
quale versione è la migliore/più corretta tra le due?
Grazie mille!![]()

Rispondi quotando