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.

questionAnswers(10)

yourAnswerToTheQuestion