Qual'è la differenza tra queste due scritture?
[CODE] Prova::Prova (string a, string b):
nome(a), cognome (b) {;}
e
Prova::Prova (string a, string b){
nome=a;
cognome=b;
}
[\CODE]
Quale delle due è preferibile?
Qual'è la differenza tra queste due scritture?
[CODE] Prova::Prova (string a, string b):
nome(a), cognome (b) {;}
e
Prova::Prova (string a, string b){
nome=a;
cognome=b;
}
[\CODE]
Quale delle due è preferibile?
Ciao, il primo caso utilizzi una lista di inizializzazione. Non mi ricordo precisamente, magari aspetta qualche risposta più approfondita, ma intanto:
La lista di inizializzazione, inizializza appunto, i membri prima della chiamata del corpo della funzione, sono utili per esempio per definire variabili costanti, e poi per cose più compelsse tipo i moduli. Magari sbaglio ma dovresti poter fare:
edit:class TuaClasse{
.
.
.
const int a;
.
.
public:
.
.
TuaClasse(int c);
.
.
};
TuaClasse::TuaClasse(int c) : a(c) {.......};
Ho anche provato ed effettivamente se provi ad inizializzare c all'interno del corpo da errore facendolo nella lista invece puoi.
Ultima modifica di Onizuka8; 16-01-2015 a 21:38