PDA

View Full Version : [C++] Costruttore di copia


Unrue
30-01-2008, 10:24
Ciao a tutti,
ho un dubbio su questo argomento. Se ad esempio, volessi copiare un oggetto, che perņ all'interno ha puntatori ad altre classi, quando copio questo oggetto, vengono create copie anche delle classi referenziate con questi puntatori?

O non puntano da nessuna parte? Grazie.

fek
30-01-2008, 11:29
Ciao a tutti,
ho un dubbio su questo argomento. Se ad esempio, volessi copiare un oggetto, che perņ all'interno ha puntatori ad altre classi, quando copio questo oggetto, vengono create copie anche delle classi referenziate con questi puntatori?

O non puntano da nessuna parte? Grazie.

Il costruttore di copia autogenerato copia l'oggetto campo per campo, quindi se ci sono puntatori ad altri oggetti, l'oggetto copiato puntera' agli stessi oggetti ma esistera' solo un'unica copia di questi oggetti.

Se ti serve un "deep copy", quindi copiare anche gli oggetti puntati, devi scriverti il tuo costruttre di copia.

Unrue
30-01-2008, 11:41
Ok capito, grazie;)