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