Resultados 1 al 4 de 4

enlazar clases

  1. #1 enlazar clases 
    Iniciado
    Fecha de ingreso
    Aug 2004
    Ubicación
    Santoña (CANTABRIA)
    Mensajes
    5
    Descargas
    0
    Uploads
    0
    tengo un problemas con los includes de una jerarquia de clases (se que tiene una solucion pero cuando me la explicaron en clase no la apunte porque en ese momento no la necesitaba en mis proyectos :S), mi situacion es la siguiente:

    tengo una clase base (la llamare cBase), de esta demenden dos clase (cHija1 la cual incluye a cBase y la cHija2 que tambien incluye a cBase) hasta aqui no hay inconvenientes, el problema biene cuando desde el programa principal necesito incluir a cHija1 y a cHija2 que es cuando me da un error en el que me dice que he incluido varias veces a cBase.

    ¿existe alguna solucion que no sea que cHija1 incluya a cBase y que cHija2 incluya a cHija1, o es esta la unica solucion?

    Gracias.

    PD: espero no haberme extendido mucho y no haber liado el asunto.
    Citar  
     

  2. #2  
    Medio
    Fecha de ingreso
    Jan 2004
    Mensajes
    105
    Descargas
    0
    Uploads
    0
    Hola

    Si no he entendido mal tu problema es un problema de jerarquia multiple, no creo q citas en q lenguaje lo estas programando si es c++ es posible, si usas java no lo seria (tendrias que crear unos interfaces). Espero haberte servido de ayuda. Indica en q legunaje quieres hacerlo.

    Un saludos dares6
    Citar  
     

  3. #3  
    Iniciado
    Fecha de ingreso
    Aug 2004
    Ubicación
    Santoña (CANTABRIA)
    Mensajes
    5
    Descargas
    0
    Uploads
    0
    lo siento se me habia olvidado, lo quiero hacer en c++. (se que en java no hay herencia multiple y se necesitarian interfaces)

    Pero yo no creo que se trata de herencia multiple (eso es cuando hay una clase hijo con dos padres)

    pondre un pequeño ejemplo a ver si lo aclaro:

    //Clase Base

    class cClaseBase
    {
    //variables y metodos
    };

    //Clase Hija1
    //como es hija de cClaseBase tendra que incluir al .h de cClaseBase

    #include "cClaseBase.h"

    class cClaseHija1 : public cClaseBase
    {
    //variables y metodos
    };

    //Clase Hija2
    //como es hija de cClaseBase tendra que incluir tb al .h de cClaseBase

    #include "cClaseBase.h"

    class cClaseHija2 : public cClaseBase
    {
    //variables y metodos
    };

    //Programa principal

    #include "cClaseHija1.h"
    #include "cClaseHija2.h"

    void main()
    {
    /*para poder crear una instancia de cClaseHija1 y otra de cClaseHija
    deberia hacer los includes anteriores*/

    cClaseHija1 *ch1;
    cClaseHija2 *ch2;
    }

    /*Al hacerlo de esta forma me da un error de multiple declaracion de
    cClaseBase*/
    Última edición por dcastro; 27-08-2004 a las 00:08
    Citar  
     

  4. #4  
    Moderador HH
    Fecha de ingreso
    Feb 2002
    Ubicación
    México
    Mensajes
    1.156
    Descargas
    4
    Uploads
    0
    para evitar esos errores debes poner hasta arriba del archivo:
    #ifndef cbaseclase_h
    #define cbaseclase_h
    .
    .
    .
    [aqui escribes el codigo]
    .
    .
    #endif

    con esto creas una condicion, si no esta definido el archivo lo incluye, en caso contrario se salta

    o tambien puedes poner en el momento del include:
    #ifndef "cClaseBase.h"
    #include "cClaseBase.h"
    #endif
    Mientras el mundo permanezca no acabarán la fama y la gloria de México-Tenochtitlan
    Citar  
     

Temas similares

  1. Clases de CEH ahora en video
    Por LUK en el foro GENERAL
    Respuestas: 0
    Último mensaje: 01-02-2011, 20:07
  2. necesito enlazar dos redes
    Por ricalvar en el foro REDES Y TECNOLOGIAS WIRELESS
    Respuestas: 1
    Último mensaje: 10-08-2006, 04:42
  3. Generar un Diagrama de Clases
    Por Nirvana en el foro GENERAL
    Respuestas: 1
    Último mensaje: 19-12-2005, 13:12
  4. Respuestas: 1
    Último mensaje: 08-04-2004, 21:50
  5. Clases del Troyano SUBSEVEN
    Por jox77 en el foro GENERAL
    Respuestas: 0
    Último mensaje: 03-04-2002, 02:57

Marcadores

Marcadores