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.


Diagrama de la clase CFigura generado con Doxygen

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);
}

 

 Deja un comentario

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(requerido)

(requerido)