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...