Invocación de constructores y destructores
Los constructores y los destructores son llamados
automáticamente. El orden en el que ocurren estas llamadas a función depende
del orden en el que la ejecución introduce y rebasa el alcance en el que estos
objetos se crean. Por lo general, las llamadas a un destructor se hacen en
orden inverso de las llamadas a un constructor. Sin embargo, las clases de
almacenamiento de los objetos pueden alterar el orden en el que se llama a los
destructores.
Los constructores son llamados por objetos definidos con
alcance global, antes de que cualquier otra función (incluso main) en este
archivo comience su ejecución (aunque el orden de la ejecución de constructores
de objetos globales entre archivos no está garantizado). Los destructores
correspondientes son llamados cuando termina el main o cuando se llama a la
función exit. Los destructores no son llamados por objetos globales, si el
programa termina con una llamada a una función exit o abort.
Se llama al constructor de un objeto local automático cuando
la ejecución alcanza el punto en donde se definen los objetos. Los destructores
correspondientes se llaman cuando los objetos e salen de alcance (es decir
cuando se abandona el bloque en el que se definieron). Los constructores y los
destructores de objetos automáticos se llaman cada vez que los objetos entran o
salen de alcance. Los destructores de objetos automáticos no se llaman si el
programa termina con una llamada a las funciones exit o abort.
Se llama al constructor para un objeto local estático solamente
una vez cuando la ejecución alcanza por primera vez el punto donde el objeto
está definido. Los destructores correspondientes se llaman cuando termina main
cuando se llama a la función exit. No se llama a los destructores para objetos
estáticos, si el programa termina con una llamada a una función abort.
Ejemplo de constructores por omisión
Ejemplo de constructor con parámetros
No hay comentarios:
Publicar un comentario