¿Puedo obtener un comportamiento polimórfico sin usar funciones virtuales?
Debido a mi dispositivo, no puedo usar funciones virtuales. Supongamos que tengo:
class Base
{
void doSomething() { }
};
class Derived : public Base
{
void doSomething() { }
};
// in any place
{
Base *obj = new Derived;
obj->doSomething();
}
elobj->doSomething()
llamará solo elBase::doSomething()
¿Hay alguna manera conBase *obj
llamar aldoSomething
delDerived
?
Sé que solo puedo poner unvirtual
antes dedoSomething()
deBase
resuelve el problema, pero estoy limitado por mi dispositivo, el compilador no lo admite.