Functiile destructor nu accepta parametri si nici nu returneaza valori. Deci intodeauna prototipul functiei destructor va arata asa: ~NumeClasa();
Functiile destructor sunt necesare in special in momentul in care alocam dinamic memorie. Atunci cand toate datele sunt alocate static ex: int[10], char etc. C++ se va ocupa automat de o mare parte din procesul de distrugere, stergere a datelor. Daca insa datele membre sunt alocate dinamic este bine sa va asigurati ca acele date au fost sterse.
Ex:
class Carte
{
public:
char* titlu;
Carte(char* titlu = "Titlu");
~Carte();
};
Carte::Carte(char* titlu)
{
this->titlu = new [strlen(titlu)+1];
strcpy(this->titlu,titlu);
}
Carte::~Carte()
{
delete[] titlu;
}
Niciun comentariu:
Trimiteți un comentariu