Jun 182012
He visto algunas confusiones con la práctica 7b que tiene que ver con el principio de Herencia en el lenguaje de programación C++. Para no hacer vuestra tarea práctica hice un ejemplo sencillo parecido que les ayude a terminar la práctica, además agregué el diagrama generado en Umbrello y la documentación generada con Doxygen, ambos a partir del código fuente. La clase es: CFigura, el código fuente en C++ se encuentra en este enlace.
Una de las propiedades más interesantes del principio de Herencia es la de tratar un objeto de la jerarquía como un objeto de la clase base, ver el siguiente ejemplo:
#include #include #include #include #include int mostrarArea(CFigura *); int main() { CCirculo rueda(1); CCuadrado ventana(2); CRectangulo sala(3); CTriangulo arbol(4); rueda.asignarRadio(1.0); ventana.asignarLado(0.25); sala.asignarAltura(3.5); sala.asignarBase(4.0); arbol.asignarAltura(2.25); arbol.asignarBase(1.5); std::cout << "Usando la función generica paras mostrar areas de figuras:\n"; mostrarArea((CFigura *) &rueda); mostrarArea((CFigura *) &ventana); mostrarArea((CFigura *) &sala); mostrarArea((CFigura *) &arbol); return(0); } int mostrarArea(CFigura* fig){ std::cout << "Area de la figura " << fig->verID() << " : " << fig->area() << '\n'; return(0); }