Laboratorio

Páginas: 5 (1120 palabras) Publicado: 1 de septiembre de 2015
Laboratorio Semana 1
Programación orientada a objetos

Ejercicio 1
En este ejercicio se aplican los primeros conceptos de herencia.

1. Crear una jerarquía de clases como se muestra en la figura, debe crear un proyecto llamado
Semana1 y los ficheros * .h y *.cpp de cada una de las clases.

2. Introduce una variable miembro en la clase base que contenga el nombre del empleado. Dicha
variable seráprivada de forma que las clases derivadas no puedan acceder a dicho valor.
string nombre
3. Crear una función virtual llamada mostrar_info que despliegue el nombre de la clase.
4. Crea los constructores necesarios para poder indicar el nombre. Los constructores de la clase
base serán los únicos que asignarán el nombre. El resto de constructores deberán llamar a los
correspondientes de su clasebase.
5. Agregar una función miembro pública a la clase base (Empleado) de forma que devuelva el
nombre del empleado:
6. Construye todas las clases de forma que solo tengan que pasarle el nombre a la variable
heredada.
7. Redefina la función mostrar_info () en todas las demás clases derivada para que escriba el
nombre del empleado.
8. Agregue el siguiente código en la función principal main(); éstees el código de creación de los
empleados:

Empleado Rafa("Rafa");
Directivo Mario("Mario");
Operario Anton("Anton");
// El tipo de objeto apuntado por un puntero a la clase base
// determina la función que es llamada
Empleado *pe;
cout << "\nHerencia y Polimorfismo:\n" << endl;
pe = &Rafa; pe->mostrar_info();
pe = &Mario; pe-> mostrar_info ();
pe = &Anton; pe-> mostrar_info ();
cout << "Ya heterminado." << endl;

9. Ahora compile el programa y ejecútelo. Observe lo que ocurre. Después elimine la palabra
Virtual en la declaración de la función mostrar_info () de la clase base Empleado, observando
la diferencia en la salida del programa. Se trata de un claro caso de polimorfismo. Una vez
comprendida dicha diferencia vuelve a incluir de nuevo la palabra virtual y pase al siguienteejercicio.

Ejercicio 2
El objetivo de este ejercicio consiste en agregar algunas variables miembro, con el fin de distinguir el
manejo de las variables miembro private respecto de las protected.

10. Introduzca una variable miembro en la clase base que contenga el salario del empleado. Dicha
variable será privada de forma que las clases derivadas no puedan acceder a dicho valor.

11. Añada la variablemiembro titulo a la clase Directivo, además la variable bonus de tipo float,
ambas se deben definir como protected .
string titulo;
float bonus;

12. Añada la variable miembro puesto a la clase Operario, además se puede definir como
protected para que las clases derivadas de la clase Operario puedan acceder a ella.

13. Crea los constructores necesarios para poder indicar el salario, el título encaso de que sea un
directivo o el puesto en el caso de un operario.

14. Crea la función miembro pública GetSalario() de la clase base Empleado , que devuelva el
salario de cada empleado.
float GetSalario();
15. La función virtual mostrar_info() debe muestrar por pantalla toda la información almacenada
de cada empleado, su cargo, su nombre, su salario, y además su puesto o título, dependiendo
de sise trata de un operario o un directivo.
16. En el programa principal main() se creará un array de 6 punteros a empleados. Se definirá
previamente el número de empleados mediante un define
.
#define NUM_EMPLEADOS 6
17. A continuación en el mismo fichero crea los empleados mediante llamadas a cada uno de los
constructores.
Empleado* ListaEmpleados[NUM_EMPLEADOS];
ListaEmpleados[0] = new Directivo(--- variables -----);
ListaEmpleados[1] = new Directivo( --- variables -------);
ListaEmpleados[2] = new Operario( -- variables ------);
ListaEmpleados[3] = new Operario( ---- variables -------);

18. Desplegar la información de cada empleado en pantalla

Ejercicio 3
El objetivo de este ejercicio consiste en utilizar una variable miembro que sea un objeto de otra clase.
Los pasos a seguir son los...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Laboratorio
  • Que es un laboratorio
  • Laboratorio
  • Laboratorio
  • Laboratorios
  • Laboratorio
  • Laboratorio
  • Laboratorio

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS