Differenze tra le versioni di "Dal C al C++/Classi isolate"

m
 
 
Mentre ci possono essere più costruttori, il distruttore, se presente, è unico, e non riceve parametri.
Viene identificato dal fatto che il suo nome è uguale a quello dlladella classe (come per i contruttoricostruttori), ede dal fatto che il suo nome è preceduto dal carattere "~".
 
Ecco un programma completo che usa costruttore e distruttore:
using namespace std;
struct String {
String(const char * s = "") { // Costruttore
lunghezza_ = strlen(s);
capacita_ = lunghezza_ + 1;
strcpy(array_, s);
}
~String() { delete array_; } // Distruttore
const char *c_str() const { return array_; }
char * array_; // Array di caratteri
La variabile "s1" non è inizializzata esplicitamente, ma il suo costruttore viene chiamato comunque, senza parametri; quindi viene usato il valore di default dell'unico parametro.
 
Le variabili "s2" e "s3" sono inizializateinizializzate esplicitamente, con due sintassi diverse, ma con la stessa semantica, e quindi il loro costruttore viene chiamato allo stesso modo.
 
È stata aggiunta anche la funzione "c_str" per rendere l'uso della classe identico a quello della classe standard "string".
323

contributi