Los destructores son algo menos importante. No siempre se incluyen en las clases. Su función es liberar la memoria usado por un objeto cuando este deja de ser útil y en general se usan trabajando con punteros, no con variables normales.
Ejemplo:
#include <iostream>
#include <cstring>
using namespace std;
class miClase {
public:
miClase(); // Constructor por defecto
~miClase(); // Destructor
//Aquí más código
};
miClase::miClase() : mic(NULL) {}
// Aquí más código
miClase::~miClase() {
delete[] mic; // Deja libre la memoria reservada
}
int main() {
// ... aquí más código
// Declaramos un puntero
mic *NombreDePuntero;
delete NombreDePuntero; // Libera el espacio de memoria al que apunta el puntero
}
Ver
http://es.wikipedia.org/wiki/Destructor_%28inform%C3%A1tica%29