Constructores:
En una clase existe una función miembro muy particular llamada Constructor. Un constructor es una función que debe tener el mismo nombre que la clase y no debe retornar ningún valor, (ni siquiera void), y se encarga de asignarle valores iniciales, (o simplemente inicializar), a los datos miembros. En el ejemplo descubrirá que allí no hay ningún constructor definido, cuando ocurre esto el compilador de C++ crea en ejecución el constructor. No obstante hubiera sido correcto haber definido un constructor que se encargara de, por ejemplo, inicializar con 0 los datos miembros. Un constructor es invocado automáticamente cuando se crea la instancia, o sea que no hay llamarlo explícitamente desde el programa principal. Existen 3 tipos de constructores:
- Constructor por defecto.
Si no se define ningún constructor de una clase, el compilador generará un constructor por defecto. El constructor por defecto no tiene argumentos y simplemente sitúa ceros en cada byte de las variables instancia de un objeto. Si se definen constructores para una clase, el constructor por defecto no se genera.
- Constructor común.
El constructor común es aquel que recibe parámetros para asignarles como valores iniciales a los datos miembros, o sea que al crear la instancia, se pasó unos parámetros para inicializar
- Constructor de copia.
El constructor de copia se utilizan para inicializar un objeto con otro objeto de la misma clase.
Destructores
Los destructores son funciones miembro especiales llamadas automáticamente en la ejecución del programa, y por tanto no tienen por qué ser llamadas explícitamente por el programador. Su cometido es liberar los recursos computacionales que el objeto de dicha clase haya adquirido en tiempo de ejecución al expirar este. Los destructores son invocados automáticamente al alcanzar el flujo del programa el fin del ámbito en el que está declarado el objeto. Existen dos tipos de destructores pueden ser públicos o privados, según si se declaran:
- si es publico se llama desde cualquier parte del programa para destruir el objeto.
- si es privado no se permite la destrucción del objeto por el usuario.
Tec. Lizarraga Rodriguz Rodrigo le_prince_bleu_@hotmail.com