ParameterParser Geschrieben 5. April 2001 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
gajUli Geschrieben 5. April 2001 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ParameterParser Geschrieben 5. April 2001 Autor Teilen Geschrieben 5. April 2001 Hallo Uli, danke für den Tipp! Es funktioniert wunderbar! Gruß PP Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.