Constructores y destructores
Es normal que una parte de un objeto necesite una inicialización antes de poder usarse. Un constructor no es más que una función miembro que aglutina un conjunto de instrucciones que permiten inicializar los objetos de una clase. El nombre de esa función debe coincidir con el nombre de la clase.
Ejemplo:
//esto crea la clase cola
class cola {
int c[100];
int ppio,fin;
public :
cola (void) //constructor
void meter (int i);
int sacar (void);
};
El constructor cola ( ) no tiene especificado tipo de dato devuelto. En C++ las funciones constructoras no pueden devolver valores.
La función cola se codifica como:
//Función constructora
cola::cola (void)
{
ppio=fin=0;
cout << "cola inicializada\n";
}
En muchos casos un objeto debe realizar alguna acción o acciones cuando se destruye. Hay muchas razones por las que se puede necesitar un destructor. Por ejemplo, un objeto puede tener que liberar memoria que previamente se le ha asignado o reservado.
Un destructor recibe el mismo nombre que la clase pero precedido por el carácter "~".
El siguiente ejemplo es de la clase cola y sus funciones constructora y destructora (tenga en cuenta que la clase cola no necesita un destructor).
class cola {
int c[100];
int ppio,fin;
public :
cola (void); //constructor
~cola (void); //destructor
void meter (int i);
int sacar (void);
}
//Función constructora
cola::cola (void)
{
ppio=fin=0;
cout <<"cola inicializada\n";
}
//Función destructora
cola::~cola (void)
{
cout <<"cola destruida\n";
}