Destructores

Solo disponible en BuenasTareas
  • Páginas : 3 (629 palabras )
  • Descarga(s) : 4
  • Publicado : 2 de junio de 2010
Leer documento completo
Vista previa del texto
La contrapartida a un constructores un destructor. Los destructores son funciones (métodos) que tienen el mismo nombre de la clase al igual que los constructores, pero para distinguirlossintácticamente se les precede por un tilde (~) o por la palabra reservada destructor.
Ejemplo:
~Fecha()
Al igual que sucede con los constructores se proporciona un constructor por defecto en el caso de queno se incluya explícitamente en la declaración de la clase. Al contrario que los constructores, sólo puede haber un destructor por clase. Esto se debe a que los destructores no pueden tener argumentosni devolver valores.
Los destructores Se llaman automáticamente siempre que un objeto deje de existir y su objetivo es limpiar cualquier efecto no deseado que haya podido dejar el objeto.

ReglaUna función destructor se llama a la vez que un objeto sale fuera de ámbito (desaparece)
Los destructores deben tener el mismo nombre que su clase pero suelen ir precedidos de una tilde. Solo puedehaber un destructor por clase.
Un destructor no tiene argumentos ni devuelve ningún valor. Si no se incluye ningún destructor en la clase, el compilador proporciona un destructor por defecto. |Ejemplo:
Se declara una clase con un constructor y destructor:
//C++
Class Demo
{
int datos;
public:
Demo() { datos = 0; } //constructor
~Demo() {} //destructor
};
Regla
*Los destructores no tienen valor de retorno
* Tampoco tienen argumentos.
El uso mas frecuente de un destructor es liberar memoria que fue asignada por el constructor. Si un destructor no se declaraexplícitamente, se crea uno vacio automáticamente. Si un objeto tiene ámbito local, su destructor se llama cuando el control pasa fuera de su bloque de definición.
Regla en C++
Si un objeto tieneámbito de archivo, el destructor se llama cuando termina el programa principal (main). Si un objeto se asigno dinámicamente (utilizando new y delete), el constructor se llama cuando se invoca el...
tracking img