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";

}