• Viernes 5 de Julio de 2024, 09:51

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - mscblazer

Páginas: [1]
1
C++ Builder / Problemas con patrón de diseño Visitante...
« en: Viernes 29 de Agosto de 2008, 20:48 »
Saludos a todos los amigos del foro, lo que me trae aqui es un error que me da en un sencillo ejemplo que trato de desarrollar para conocer bien el patrón Visitante(Visitor) a continuación el código:

class TAnimal{  //Clase abstracta del elemento.
  public:
    virtual void Accept(TReaccion&)=0;
};

//Interfaz Clase hija
class TGato : Public TAnimal{  //Clase hija de TAnimal
  public:
    TGato();
    virtual void Accept(TReaccion&);
};

//Implementación Clase hija
TGato::TGato(){} //constructor

void TGato::Accept(TReaccion& Visitante){
  Visitante.visit(this); //Error E2316
}

//Clase abstracta del visitante
class TReaccion{
  public:
    virtual void visit(TGato*)=0;
};


class TAcariciar : public TReaccion{  //Interfaz clase hija del visitante
  public:
    TAcariciar();
    virtual void visit(TGato*); //Error E2293
}


//Implementación clase hija del visitante...
TAcariciar::TAcariciar(){} //constructor

void TAcariciar::visit(TGato *Gatito){
  cout << "Miau" << endl;
}

Y me dan los siguientes errores:
E2293 ) expected
E2316 'visit' is not a member of 'TReaccion'

Agradezco cualquier ayuda.

Gracias de adelantadas...

Páginas: [1]