Ich habe mit dem Konzept der Konstrukteure im Kontext der Vererbung gekämpft. Diese Verwirrung wurde durch die Tatsache verstärkt, dass große Änderungen an diesem Thema mit C + 11 eingeführt wurden (d. H. Basiskonstruktoren können vererbt werden?).Erstellt eine Vererbungskette eine Kette von Konstruktoraufrufen?
Also meine Frage:
ich nicht Vererbung Konstruktor Unter der Annahme, sondern nur einen neuen Konstruktor in meiner abgeleiteten Klasse definiert, wird der Basiskonstruktor noch genannt werden? Es scheint, als ob es nicht sollte, aber ich bin auf einige Dokumente gestoßen, die besagen, dass dies geschieht. Bedeutet das weiter, dass Sie, wenn Sie eine Vererbungskette haben, eine Reihe von Konstruktoren namens? Wenn ja, in welcher Reihenfolge? Base vor abgeleiteten oder abgeleiteten vor der Base?
Vielen Dank! Hier
Wenn Sie nicht 'super()' nennen, glaube ich, dass die Antwort _no_ ist. –
@EricM. Die Antwort ist immer noch Nein mit 'super()', weil es nicht kompiliert wird –
LOL! Ich wusste, dass es in Java funktioniert hat ... Ich war 60%, vielleicht 70% sicher, dass es in C++ funktioniert hat. TIL. –