ann ich polymorphes Verhalten erhalten, ohne virtuelle Funktionen zu verwende

Aufgrund meines Geräts kann ich keine virtuellen Funktionen verwenden. Angenommen, ich habe:

class Base
{
    void doSomething() { }
};

class Derived : public Base
{
    void doSomething() { }
};

// in any place
{
    Base *obj = new Derived;
    obj->doSomething();
}

dasobj->doSomething() ruft nur das @ aBase::doSomething()

Gibt es einen Weg mitBase *obj, um das @ aufzurufdoSomething desDerived?

Ich weiß, ich kann nur ein @ setzvirtual VordoSomething() vonBase es löst das Problem, aber ich bin durch mein Gerät eingeschränkt, der Compiler unterstützt es nicht.

Antworten auf die Frage(20)

Ihre Antwort auf die Frage