Documente Academic
Documente Profesional
Documente Cultură
Constructores y destructores. Un constructor es un procedimiento especial de una clase que es llamado automticamente siempre que se crea un objeto de esa clase. Su funcin es iniciar el objeto. Un destructor es un procedimiento especial de una clase que es llamado automticamente siempre que se destruye un objeto de esa clase. Su funcin es realizar cualquier tarea final en el momento de destruir un objeto. Constructores y destructores. Un constructor define valores iniciales para las variables internas. En general, cuando creamos un objeto de una clase se invoca automticamente a un constructor, que prepara el objeto y establece los miembros de la clase. Una clase puede tener tambin una funcin destructor. Esta funcin se llama cuando la ejecucin del programa abandona el mbito de una clase. Los destructores destruyen los objetos que ya no se necesitan dentro de un programa. Una funcin constructor se declara mediante unas reglas: Funcin miembro con el mismo nombre de la clase. No devuelve ningn valor.
Funciones de los destructores: Destruye los objetos de la clase que ya no se necesitan. Es una funcin definida por el usuario que no tiene agrupamientos No devuelve ningn valor No puede ser sobrecargado
Existen muchos tipos de constructores entre los que se encuentran: Ordinarios: El constructor ordinario crea una nueva instancia de la clase y pone los miembros dato a los valores incluidos en la declaracin. Por omisin: es un constructor que no requiere argumentos; a lista de argumentos es o bien vaca, o todos los argumentos tienen valores por omisin asignados a ellos. De copia: se utiliza para crear un nuevo objeto e inicializar ese objeto con los valores de otro objeto de la misma clase. Un constructor de copia por defecto se crea por el compilador si no se ha proporcionado un constructor de copia como una de las funciones miembro de la clase.
Una clase puede tener ms de un constructor, que sobre carga el nombre de constructor. Sintaxis. El formato general para definir un constructor es: Clase X: :Clase X(args) : lista_inic { cuerpo del constructor };
Ejemplo: class reloj { int hr, min, seg; public: void poner_hora (int h, int m, int s); void calcular_hora (void); void ver (void); reloj (int h, int m,int s); // constructor };
Ejemplo de destructor: class cadena { char*datos; int longitud; public: cadena (int z); // consructor ~cadena (void); // destructor }; cadena:: cadena (int z) { datos=new char [ z ]; } cadena:: ~cadena (void) { delete [ ] datos; }