personaje, el 20 de diciembre a las 00:09 me escribiste:
> Hola a todos,
> 
> 
>    Tengo dos clases; A y B, ambas tienen un método igual Run(int);
> ahora declaro C como public las dos. Cómo hago para reimplementar el
> metodo Run para cada clase padre?

No podés.

> class A
> {
> public:
>    A(){}
>    virtual ~A(){}
>    virtual void Run(int){std::cout<<"RunA"<<std::endl;}
> };
> 
> class B
> {
> public:
>    B(){}
>    virtual ~B(){}
>    virtual void Run(int){std::cout<<"RunB"<<std::endl;}
> };
> 
> class C : public A, public B
> {
> public:
>    A(){}
>    virtual ~A(){}

Supongo que esos dos son efecto de copy&paste y serian C() y ~C().

>    virtual void Run(int){std::cout<<"RunC desde A"<<std::endl;}
>    virtual void Run(int){std::cout<<"RunC desde B"<<std::endl;}
> };
> 
> 
> Algo así... lo miro y me digo que no se puede, pero... es posible?

No. Y no tiene sentido, cuando llames a c.Run(1) a cual llama? Y si no
llamás a los Run del padre, menos sentido le veo.

> y algo similar?

Lo más parecido que se me ocurre es (si querés llamar a los Run de los
padres):

class C : public A, public B
{
public:
   C(){}
   virtual ~C(){}
   virtual void RunA(int i) { A::Run(i); }
   virtual void RunB(int i) { B::Run(i); }
};

Pero eso es un poco lame, porque tampoco tiene ninguna gracia que sea
virtual el método Run en primera instancia.


Yo creo que tu principal problema no como catso te metiste en una
situación donde tenés herencia múltiple, con 2 métodos con el mismo nombre
en las clases padres y *encima* querés llamar a cada uno de ellos con una
virtualidad mágica inexistente =P

-- 
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
una vez mas voy a arrastrar mi alma por el suelo
y no me importa sentirme mal, si es lo que quiero
tragando polvo, llorando sangre, anocheciendo
una vez mas voy a cerrar mis ojos para siempre
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a