|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
[C++] gestione memoria.
Boungiorno come si evince dal titolo volevo chiarire dei miei dubbi sulla gestione della memoria in c++, iniziamo col dire che al contrario di come pensate
se io ho una classe del tipo : Codice:
class Pippo
{
Pluto _pluto;
}
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Se provi: Codice:
#include <iostream>
using namespace std;
class Pippo
{
public:
Pippo();
};
Pippo::Pippo (void)
{
cout << "costruttore Pippo" << endl;
}
class Prova
{
private:
Pippo p;
};
int main (void)
{
Prova prova;
return 0;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
Allora il dubbio adesso viene con le stringhe:
so ho: Codice:
class Pippo
{
private:
std::string _name;
public:
Pippo(std::string name);
}
Pippo::Pippo(std::string name)
{
_name=name;
}
e se invece di std::string o il mio vecchio pluto che succede ?? |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
|
ok capito questo continuo con la lezione
quello di prima più questo. Codice:
Pippo::setPluto(Pluto pluto)
{
_pluto=pluto
}
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Qui dipende ... facendo l'assegnazione per default vengono copiati tutti i campi della classe pari pari così come sono. Se però un campo è un puntatore ... ahi! Bisogna vedere cosa ci devi fare e come lo devi gestire. In questi casi si crea un "costruttore di copia", in modo da gestire la copia come si vuole realmente.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:04.












ho concluso con: kvegeta, doctordb, Leland Gaunt.







