Habe das Video damals in 2015 gesehen und mich jetzt, wo ich nach langer Zeit wieder etwas in C++ programmiere an Brotis mahnende Worte erinnert als ich einen Konstruktor geschrieben habe. Ich wusste nichtmehr genau was es war, aber ich wusste ich kann mir hier irgendwie in den Fuss schießen. Zum Glück ist das Video noch da, um das nachzuschauen :)
Kann man, aber dann wär man bei jedem Erben dazu gezwungen einen Destruktor zu definieren oder pure virtual zu lassen. Letzteres würde deine Klasse aber wieder abstrakt machen. Wenn es keine Daten gibt die du im Destruktor löschen musst macht es jedoch wenig Sinn jedesmal einen leeren Destruktor implementieren zu müssen wenn man auch einfach den leeren den man geerbt hat lassen kann.
Habe das Video damals in 2015 gesehen und mich jetzt, wo ich nach langer Zeit wieder etwas in C++ programmiere an Brotis mahnende Worte erinnert als ich einen Konstruktor geschrieben habe. Ich wusste nichtmehr genau was es war, aber ich wusste ich kann mir hier irgendwie in den Fuss schießen.
Zum Glück ist das Video noch da, um das nachzuschauen :)
hätte man auch nicht einfach schreiben können virtual ~Lebewesen() = 0; oder hab ich da die letzte Folge falsch verstanden?
Kann man, aber dann wär man bei jedem Erben dazu gezwungen einen Destruktor zu definieren oder pure virtual zu lassen. Letzteres würde deine Klasse aber wieder abstrakt machen. Wenn es keine Daten gibt die du im Destruktor löschen musst macht es jedoch wenig Sinn jedesmal einen leeren Destruktor implementieren zu müssen wenn man auch einfach den leeren den man geerbt hat lassen kann.
ich lasse mir die Klassen immer generieren, da ist der Destruktor immer dabei :-)