Contenido del Curso
POO en C++
POO en C++
Qué Es un Destructor de la Clase
Destructores son funciones miembro especiales que se invocan cuando finaliza la vida útil de un object's
. Su propósito principal es liberar los recursos que el objeto pudo haber adquirido durante su existencia.
Sintaxis del Destructor
Aunque cumplen propósitos opuestos, crear un destructor es muy similar a crear un constructor. Comparten casi los mismos principios de declaración. El enfoque general para crear uno es:
Nombre: tiene el mismo nombre que la clase, pero está precedido por una tilde (
~
);Sin tipo de retorno: no tiene tipo de retorno, ni siquiera void;
Sin parámetros: no puede recibir ningún parámetro;
Invocación automática: es llamado automáticamente por el compilador cuando el objeto sale de su ámbito o es eliminado explícitamente.
Invocación Automática de Destructores
La invocación automática de destructores se refiere a la llamada automática del destructor. Esto garantiza que los recursos mantenidos por el objeto se liberen correctamente, ayudando así a prevenir fugas de memoria y de recursos.
scope.cpp
delete.cpp
termination.cpp
int main() { { Example obj; // Object created } // Object goes out of scope here, destructor is invoked }
cuando un objeto sale del ámbito;
cuando se utiliza el operador
delete
para eliminar objetos asignados dinámicamente;cuando el programa termina.
Necesidad de los destructores
El propósito principal de un destructor es liberar los recursos adquiridos por el objeto durante su ciclo de vida. Esto incluye cerrar manejadores de archivos, desalojar memoria (usando new
) o tareas similares.
ResourceHolder.cpp
FileHandler.cpp
class ResourceHolder { public: DynamicArray(int size) { data = new int(100); } ~DynamicArray() { delete data; } private: int* data; };
1. ¿Cuál es el propósito principal de un destructor?
2. ¿Cuál es la sintaxis para declarar un destructor?
¡Gracias por tus comentarios!