View Full Version : [C++] Conoscete questa sintassi ?
ilgrigio
05-12-2006, 13:19
Non ho capito questa sintassi, qualcuno la conosce?
Persona(string s):nome(s) { }
Ecco la dichiarazione della classe dove si trova questa riga
class Persona {
public:
Persona(string s):nome(s) { }
virtual void print() { cout << "Il mio nome e' " << nome << endl; }
protected:
string nome;
};
Non ho capito questa sintassi, qualcuno la conosce?
Persona(string s):nome(s) { }È la sintassi per fare una inizializzazione "esplicita" dei membri.
Il costruttore si poteva scrivere in modo più "normale" come:
Persona(string s) { nome = s; }
La sintassi con il ':' tra l'altro è la stessa usata anche per inizializzare le classi base.
sottovento
06-12-2006, 10:54
È la sintassi per fare una inizializzazione "esplicita" dei membri.
Il costruttore si poteva scrivere in modo più "normale" come:
Persona(string s) { nome = s; }
La sintassi con il ':' tra l'altro è la stessa usata anche per inizializzare le classi base.
Beh, non sempre puoi inizializzare in modo piu' "normale", in diversi casi sei proprio obbligato ad utilizzare la sintassi di cui sopra
High Flying
Sottovento
tomminno
06-12-2006, 13:52
Beh, non sempre puoi inizializzare in modo piu' "normale", in diversi casi sei proprio obbligato ad utilizzare la sintassi di cui sopra
High Flying
Sottovento
Se hai variabili riferimento sei obbligato ad usare la lista di inizializzazione.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.