ParameterParser Geschrieben 5. April 2001 Geschrieben 5. April 2001 Hallo, weiß jemand, wie ich bei einer diamantförmigen Vererbung A / \ B C \ / D B und C dazu bringe, nicht den Default-Konstruktor von A aufzurufen? Geht das überhaupt? Vielen Dank schon im Voraus PP
gajUli Geschrieben 5. April 2001 Geschrieben 5. April 2001 Original erstellt von ParameterParser: <STRONG>Hallo, weiß jemand, wie ich bei einer diamantförmigen Vererbung A / \ B C \ / D B und C dazu bringe, nicht den Default-Konstruktor von A aufzurufen? Geht das überhaupt? </STRONG> Hallo PP, ja, das geht. Du musst dazu in A einen anderen Ctor schreiben, den Du in B und C aufrufst. Der Aufruf erfolgt aber nicht im Anweisungsblock, sondern unterliegt der Chainingkette, die der Compiler anlegt, weil die Basisklasse vor der abgeleiteten Klasse bearbeitet wird. Darum muss das in einer Liste erfolgen, etwa so: B :: B(int a, int : A(a) // Basisklasse A mit a initialisieren { // Subklasse B mit b initialisieren } Uli
ParameterParser Geschrieben 5. April 2001 Autor Geschrieben 5. April 2001 Hallo Uli, danke für den Tipp! Es funktioniert wunderbar! Gruß PP
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden