On Dec 20, 2007 3:10 PM, personaje <[EMAIL PROTECTED]> wrote:
> On Dec 20, 2007 2:55 PM, Lautaro Cozzani <[EMAIL PROTECTED]> wrote:
>
> > es que si llamas al de A o al de B no estarias reimplementando nada...
> > en el caso que mostraste estaria funcionando como queres vos y sin
> > reimplementar nada... por ahi no entendemos lo que queres decir...
> > porque no pasas el ejemplo mas concreto?
> >
> >
>
> va
>
> template<class T>
> class A
> {
> public:
> A(){}
> virtual ~A(){}
> virtual void Run()=0;
> };
>
> class C : public A<int>, public A<float>
> {
> public:
> A(){}
> virtual ~A(){}
> virtual void Run(){std::cout<<"RunC desde A<int>"<<std::endl;}
> virtual void Run(){std::cout<<"RunC desde B<float>"<<std::endl;}
> };
>
>
> int main()
> {
> A<int> *pAi;
> A<float> *pAf;
> C *pC = new C;
> pAi = pC;
> pAf = pC;
> pAi->Run();
> pAf->Run();
> return 0;
> }
>
> y la salida sería:
>
> RunC desde A<int>
> RunC desde A<float>
no se porque qucieras implementar esos metodos desde C, ya que
realmente serian de los padres (¿padre y madre?)
>
> ahora si; creo que queda más claro 8*D y como dijo Luca al principio
> "Virtualidad mágica inexistente"...
>
> aunque quizás se podría hacer algo con magia de templates...
>
>
> Saludos
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion
>
--
Lautaro
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion