[solved] Rückgabetyp: Oberklasse, Rückgabewert: Objekt der Unterklasse



  • Der Titel sagt eigentlich schon, was ich will.
    Ich habe eine abstrakte Klasse RandomMatrix<T>. Bisher existierte eine Funtkion mit Rückgabetyp RandomMatrix<T>*, in der ein Objekt der gewünschten Unterklasse (BCH<T> oder WegmanCarter<T>) mit "new" erstellt und zurückgegeben wurde. Jetzt wollte ich das ohne "new" programmieren. Wenn man RandomMatrix<T> zurückgibt, dürfte es (wenn ich mich recht entsinne) Probleme geben, da die Unterklasse dann "zurechtgeschnitten" wird. Also wollte ich als Typ RandomMatrix<T>& nehmen, aber ich bekomme das nicht kompiliert.

    Vielleicht kann mir jemand sagen, wie man das richtig macht.



  • Gib einen std::unique_ptr<RandomMatrix<T>> zurück oder, wenn du kein C++11 hast, std::auto_ptr<RandomMatrix<T> >



  • thx.


Anmelden zum Antworten