Posso obter comportamento polimórfico sem usar funções virtuais?
Por causa do meu dispositivo, não posso usar funções virtuais. Suponha que eu tenha:
class Base
{
void doSomething() { }
};
class Derived : public Base
{
void doSomething() { }
};
// in any place
{
Base *obj = new Derived;
obj->doSomething();
}
aobj->doSomething()
chamará apenas oBase::doSomething()
Existe uma maneira deBase *obj
, para chamar odoSomething
doDerived
?
Eu sei que posso apenas colocar umvirtual
antesdoSomething()
doBase
resolve o problema, mas estou limitado pelo meu dispositivo, o compilador não o suporta.