Beruflich Dokumente
Kultur Dokumente
c) Si una clase contiene al menos una funcin virtual pura, es una clase abstracta.
d) Las clases a partir de las cuales pueden instanciarse objetos se llaman clases
concretas.
13.2 Conteste con verdadero o falso a cada una de las siguientes proposiciones;
en caso de ser falso, explique por qu.
a) Todas las funciones virtual en una clase base abstracta se deben declarar
como funciones virtual puras..( F )
R/= Falso. Una clase abstracta puede incluir funciones virtuales con
implementaciones.
R/= Falso. Las clases nunca se declaran virtuales. En vez de ello, una clase se
hace abstracta al incluir por lo menos una funcin virtual pura en ella.
d) Si una clase base declara a una funcin virtual pura, una clase derivada debe
implementar la funcin para convertirse en una clase concreta.( V )
Verdadero.
Ejercicios
13.4 Hable sobre los problemas de programar con la lgica de switch. Explique
por qu el polimorsmo puede ser una alternativa efectiva al uso de la lgica de
switch.
R/= - El programador podra olvidar incluir una prueba de tipos cuando sea
obligatorio hacerla.
- Podra olvidar evaluar todos los casos posibles en una instruccin switch.
- Rastrear instrucciones puede ser un proceso que consuma mucho tiempo y
est propenso a errores.
R/= Toda herencia lo es de implementacin, dado que todo en una clase base,
interface e implantacin, pasa a formar parte de la clase derivada. No es posible
heredar solo una parte de una clase (es decir, la interface nicamente).
13.6 Qu son las funciones virtual? Describa una circunstancia en la que las
funciones virtual seran apropiadas.
R/= Una funcin virtual o mtodo virtual es una funcin cuyo comportamiento,
al ser declarado "virtual", es determinado por la definicin de una funcin con la
misma cabecera en alguna de sus subclases.
Por ejemplo, una clase base Animal podra tener una funcin virtual come. La
subclase Pez implementara de forma diferente que la subclase Lobo, pero se
podra invocar a come() en cualquier instancia de una clase referida como
Animal, y obtener el comportamiento de come() de la subclase especfica.
R/= Una funcin virtual o mtodo virtual es una funcin cuyo comportamiento,
al ser declarado "virtual", es determinado por la definicin de una funcin con la
misma cabecera en alguna de sus subclases.
Una funcin virtual pura o mtodo virtual puro es una funcin virtual que
necesita ser implementada por una clase derivada que no sea abstracta.
R/= Esta se lleva a cabo ya que el polimorfismo nos permite ampliar nuestros
programas hacindolos de manera simplificada pero a su vez de una forma
extensa ya que permite que con un solo paso realice mltiples opciones.
R/= Con el polimorfismo, una funcin puede ocasionar que ocurran distintas
acciones, dependiendo del tipo del objeto que se invoca en la funcin.
13.12 (Modique el sistema de nmina) Modique el sistema de nmina de las
13.13 a 13.23 para incluir el miembro de datos privado llamado fechaNacimiento
en la clase empleado. Use la clase Fecha de la figura 11.12 y 11.13 para
representar el cumpleaos de un empleado. Suponga que la nmina se procesa
una vez al mes. Cree un vector de referencias Empleado para guardar los diversos
objetos empleado. En un ciclo, calcule la nmina para cada Empleado (mediante
el polimorsmo) y agregue una bonificacin de $.100.00 a la cantidad de pago de
nmina de la persona, si el mes actual es el mes en el que ocurre el cumpleaos
de ese Empleado.