You are on page 1of 4

CÓDIGO: FO-DOC-112

UNIVERSIDAD DE LOS LLANOS VERSIÓN:


PÁGINA: 1 de 4
01
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGAMACIÓN Y ESTRUCTURAS DE DATOS


UNIDAD ACADEMICA: INGENIERÍA ELECTRÓNICA
CURSO: PROGRAMACIÓN Y ESTRUCTURAS DE DATOS
PRACTICA Nº XX: CONSTRUCTORES Y DESTRUCTORES

1. OBJETIVOS
 Conocer las funciones constructoras y destructoras tanto para la inicialización automática de
acciones en los objetos así como la terminación automática de un objeto.
 Desarrollar programas mediante el uso del lenguaje C++.

2. CONSULTA PREVIA
Un constructor especifica en su lista de parámetros los datos que requiere para realizar su tarea. Al
crear un nuevo objeto, el programador coloca estos datos en los paréntesis que van después del
nombre del objeto.

En la programación orientada a objetos, es de gran utilidad el uso de las funciones constructoras y


destructoras ya sea para inicializar un valor al crear el objeto o para destruir el objeto y liberar
memoria o eliminación de datos.

3. FUNDAMENTO TEORICO
En los programas hay partes que requieren inicialización. Esta necesidad de inicialización es incluso
más común cuando se está trabajando con objetos. Para tratar esta situación, C++ permite incluir una
función constructora. A estas funciones se les llama automáticamente cada vez que se crea un objeto
de esa clase.

CONSTRUCTOR
La función constructora debe tener el mismo nombre que la clase de la que es parte, no tienen tipo
devuelto, es ilegal que un constructor tenga un tipo devuelto. Pero si es posible pasarle valores a
modo de parámetros. La función constructora es invocada automáticamente cuando se crea
(instancia) un objeto de dicha clase.

Al declarar un objeto de una clase, es posible indicar inicializadores entre paréntesis a la derecha del
nombre del objeto y antes del punto y coma. Estos inicializadores se pasan como parámetros
al constructor de la clase.

Prototipo de la función:
nombre_función(parámetros);

Desarrollo de la función:
nombre_clase::nombre_función(parámetros){
cuerpo;
}

EJEMPLO:
#include <iostream.h>
#include <stdio.h>
ELABORADO POR: CARGO: FECHA:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS VERSIÓN:
PÁGINA: 2 de 4
01
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGAMACIÓN Y ESTRUCTURAS DE DATOS


#include <conio.h>

class miclase{
int a;
public:
miclase(); //función constructora
void show();
};

miclase::miclase() {
a=100;
}

void miclase::show() {
cout << a;
}

void main() {
clrscr();
miclase obj;
obj.show();
getch();
}

Constructoras con Parámetros


Es posible pasar argumentos a una función constructora. Para permitir esto, simplemente añada los
parámetros a la declaración y definición de la función constructora. Después, cuando declare un
objeto, especifique los parámetros como argumentos. Aunque en el programa no se llama
explícitamente a las funciones constructoras, pueden proveer información que se le pasa como
argumento a los constructores.

EJEMPLO:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>

class miclase{
int a;
public:
miclase(int x);
void mostrar();
};

miclase::miclase(int x) {
cout << "Constructor"; a=x;
ELABORADO POR: CARGO: FECHA:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS VERSIÓN:
PÁGINA: 3 de 4
01
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGAMACIÓN Y ESTRUCTURAS DE DATOS


}

void miclase::show() {
cout <<"El valor de a es: ";
cout << a;
}

void main() {
miclase objeto(4);
objeto.show();
getch();
}

FUNCIONES DESTRUCTORAS
El complemento de un constructor es la función destructora. A esta función se le llama
automáticamente cuando se destruye el objeto. El nombre de las funciones destructoras debe ser el
mismo que el de la clase a la que pertenece precedido del carácter ~ . Los objetos se destruyen
cuando se salen de ámbito cuando son locales, y al salir del programa si son globales. Las funciones
destructoras no devuelven valor y tampoco pueden recibir parámetros. El uso mas apropiado de las
funciones destructoras es para liberar memoria, esto es cuando se esta trabajando con estructuras de
memoria dinámica.

Prototipo de la Función
~nombre_función();

Desarrollo de la Función
nombre_clase::nombre_función(){ cuerpo; }

EJEMPLO: Mismo programa de antes añadiendo una función destructora.


#include <iostream.h>
#include <stdio.h>
#include <conio.h>

class miclase{
int a;
public:
miclase();
~miclase(); //Esta es la función Destructora
void show();
};

miclase::miclase() {
a=100;
}

ELABORADO POR: CARGO: FECHA:


CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS VERSIÓN:
PÁGINA: 4 de 4
01
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016

LABORATORIO DE PROGAMACIÓN Y ESTRUCTURAS DE DATOS


miclase::~miclase() {
cout << "Destruyendo...\n";
getch();
}

void miclase::show() {
cout << a;
}

void main() {
clrscr();
miclase obj;
obj.show();
getch();
}

4. EQUIPOS, MATERIALES Y REACTIVOS


Se debe listar los equipos, materiales y reactivos requeridos para el desarrollo de la práctica.

Equipos Materiales Sustancias y/o Reactivos


Equipo de cómputo de características
estándar.
Software:
CodeBlocks

5. PROCEDIMIENTO O METODOLOGÍA
Después de probar los ejemplos de la guía, con base en ellos desarrollar los siguientes ejercicios.

1.- Crear un programa que cree la clase Círculo, que tenga los atributos radio y pi, de tal forma que
en el constructor inicialice el valor de pi, incluir funciones miembro para capturar el valor del radio,
otra para calcular el área y finalmente el destructor.
2.- Crear un programa que cree la clase Cuadrado, que tenga el atributo lado y que sea inicializado
en 5 en el constructor. También incluir funciones miembro que calculen el área y el perímetro, y por
último incluir su función destructora.
3.- Crear un programa que cree la clase Persona que tenga como atributos el nombre, apellidos,
edad, sexo y telefono, incluyendo un constructor que permita el ingreso de los datos a los atributos de
la clase, definir los setters y getters de cada atributo, por ultimo cree cinco objetos de la clase
Persona y determina el promedio de edad de estas personas.

No olvide crear una función destructora para verificar en que momento se destruye el objeto..

6. RESULTADOS
Reportar al profesor cuando termine los ejercicios a entregar.

7. BIBLIOGRAFIA
Realizar una revisión del estado del arte actualizada.
ELABORADO POR: CARGO: FECHA:

You might also like