Herencia y Poolimorfismo
Sumario:
-Ejercicios sobre herencia de clases.
Objetivos:
Alcanzar habilidades en la definición de métodos polimórficos.
Ejercicio 1:
Dada lasiguiente jerarquía de clases basadas en herencia pública:
A B C
Donde cada una de las cases posee una propiedad protegida a, b, c de tipo entero respectivamente. Diga:
1- Definacompletamente la jerarquía adicionando un método polimórfico denominado calculo. El método debe devolver el resultado de la fórmula r = 2a para objetos de la clase A, r=2a+4/b para objetos de la clase B, yr = 2a+4/b -8c para objetos de la clase C.
2- Si en una lista de punteros a clase A se tienen dos punteros apuntando a objetos de la clase A, dos apuntando a objetos de la clase B y tres apuntando aobjetos de la clase C. Diga cuántas llamadas polimórficas se ejecutan al recorrer la lista llamando al métodos calculo.
Ejercicio 2:
Según la definición de la jerarquía del ejercicio anteriorexplique cuáles instrucciones son correctas y cuales no. Explique.
1- A* ptrA = new A[10];
2- A** ptrA = new A*[10];
3- B* ptrB = new B[10];
Ejercicio 3:
Redefina lasinterfaces involucradas en el ejercicio de las obras, correspondientes a la CP anterior, para que la empresa constructora pueda realizar operaciones como calcular el tiempo total que demorar todaslas obras en ejecución y el ingreso total que recibirá la empresa. Aplique los conceptos relacionados con el polimorfismo.
EJERCICIO 1 y 2
#include
#include
using namespace std;
class A
{protected:
float a,b,c;
public:
A(float, float, float);
virtual float r();
};
A::A(float _a=0, float _b=0, float _c=0)
{
a=_a;
b=_b;
c=_c;
}
float A::r()
{return 2*a;
}
class B:public A
{
public:
B(float, float, float);
float r();
};
B::B(float _a=0, float _b=0, float _c=0):
A(_a, _b, _c)
{
}
float B::r()
{
return 2*a...
Regístrate para leer el documento completo.