Destructor (informática)

Un destructor en programación orientada a objetos es una función miembro especial llamadas automáticamente en la ejecución del programa, y por tanto no tienen por qué ser llamadas explícitamente por el programador.

Sus principales cometidos son: Los destructores son invocados automáticamente al alcanzar el flujo del programa el fin del ámbito en el que está declarado el objeto.

Si la instancia de la clase se creó como una variable automática, el destructor será llamado automáticamente cuando el programa salga fuera del ámbito donde fue creada dicha instancia.

[1]​ El constructor de copia y el operador de asignación, deben ser deshabilitados en clases donde no se necesitan explícitamente.

(Scott Meyers, Effective C++, Item 6: Explicitly disallow the use of compiler-generated functions you do not want.