Gute Alternative für rein virtuelle ctors...



  • Hallo,

    ich möchte ein Interface erstellen und dieses dann via Zeiger bei anderen Klassen übergeben.
    Dieses Interface soll dann durch diverse Klassen instanziiert werden können.

    Das Problem ist jetzt, dass ich gerne bestimmte Konstruktoren voraussetzen möchte für die Subklassen, aber man kann Konstruktoren nicht vererben.
    Die Alternative wäre Funktionen zu erstellen, die das konstruieren übernehmen, aber das ist IMO kein schöner Stil. 😞
    Soll ich es dennoch so gestalten, oder gibt es dafür andere Mittel und Wege?

    MfG MAV



  • Hi,

    du musst beim Erstellen eines Objektes doch dessen Typ kennen, also würde ein virtueller Destruktor gar nichts bringen.

    Wenn du unbedingt verschiedene Objekte einheitliche erzeugen willst, brauchst du eine init()-Methode, aber den Sinn sehe ich nicht ganz ein. 🙄

    EDIT: PS: Factoryfunktionen finde ich nicht unschön. 🙂

    ChrisM



  • Mis2com schrieb:

    dass ich gerne bestimmte Konstruktoren voraussetzen möchte für die Subklassen

    Warum?



  • Hr, stimmt, hab mich vertan, sorry...

    Ich wollte bestimmte ctors für das Interface voraussetzen, damit ich dann beim Interface auf alle Fälle einen jeweiligen ctor-Aufruf machen kann, egal um welche abgeleitete Klasse es sich als dynamischen Typ handelt.
    Das ist natürlich Irrsin, weil man so eine Klasse ja sowieso nur direkt mit einer Subklasse instanziieren kann. 😃


Anmelden zum Antworten