Quali sono i vantaggi dei Costruttore di Copia?
Tnk&Ciao
Quali sono i vantaggi dei Costruttore di Copia?
Tnk&Ciao
La stupidità umana e l'universo sono infinite.
Della seconda non sono certo(Einstein)
Gnu/Linux User
che intendi per costruttore di copia? :master:Originariamente inviato da Luc@s
Quali sono i vantaggi dei Costruttore di Copia?
Tnk&Ciao
Costruttore di Copia
Il costruttore di copia è l'altro costruttore di default. Come argomento prende solo un riferimento ad un altro oggetto della stessa classe. Quando nessun costruttore di copia è dichiarato, il compilatore ne usa uno di default che copia ogni campo dell'oggetto sorgente nell'oggetto destinazione e non fa nient'altro. Se ne dichiari uno, dovrai copiare tutti i campi che vuoi manualmente. Da notare l'uso della keyword "const", necessaria al compilatore per riconoscere un costruttore di copia.
class Vector
{
int n;
float *v;
public:
Vector();
Vector (const Vector &);
};
Vector::Vector()
{
v = new float[100];
n = 100;
}
Vector::Vector (const Vector &vector)
{
n = vector.n; // Copia del campo n
v = new float[100]; // Crea un nuovo array
for (int i = 0; i < 100; i++)
v[i] = vector.v[i]; // Copia l'array
}
La stupidità umana e l'universo sono infinite.
Della seconda non sono certo(Einstein)
Gnu/Linux User
E` proprio cosi` difficile capire a cosa puo` servire un costruttore di copia?
ho detto che nn so quali sono i vantagggi...................nn che nn so cosa faOriginariamente inviato da r0x
E` proprio cosi` difficile capire a cosa puo` servire un costruttore di copia?![]()
La stupidità umana e l'universo sono infinite.
Della seconda non sono certo(Einstein)
Gnu/Linux User
1) Passaggio delle variabili, nelle funzioni, per valore
2) Crei un oggetto della classe e nella dichiarazione gli copi il valore di un alto oggetto della classe.
:mavieni: Luca
http://digilander.libero.it/lpelo
http://www.myspace.com/redpile
I vantaggi rispetto a COSA? O come al solito posti per dire che usi il C++?
Originariamente inviato da r0x
I vantaggi rispetto a COSA? O come al solito posti per dire che usi il C++?
rispetto al costruttore di default!
Cmq nn posto per quello![]()
La stupidità umana e l'universo sono infinite.
Della seconda non sono certo(Einstein)
Gnu/Linux User
- Il vostro eroe TheGreatWorld torna per punzecchiare i piu' tonti -
Il costruttore per copia e quello di default si usano per operazioni estremamente diverse.
Costruttore => costruisce un oggetto
Costruttore per copia => costruisce un oggetto basandosi su un oggetto dello stesso tipo (o castdowned)
Per capirci:
mytype a(10, 'a'); // <- costruttore
mytype b = a; // <- costruttore per copia
bye
There are 10 kinds of people in the world: who knows the binary numeration and who not