Ich weiß, dass es eine gute Praxis ist, virtuelle Destruktoren für Basisklassen in C++ zu deklarieren, aber ist es immer wichtig, die virtual
Destruktoren auch für abstrakte Klassen, die als Schnittstellen fungieren? Bitte geben Sie einige Gründe und Beispiele an, warum.
I meist mit Ihnen übereinstimmen, denn in der Regel Wenn Sie eine Hierarchie definieren, möchten Sie in der Lage sein, auf ein abgeleitetes Objekt zu verweisen, indem Sie einen Zeiger/Verweis auf die Basisklasse verwenden. Aber das ist nicht immer der Fall, und in diesen anderen Fällen kann es ausreichen, die Basisklasse dtor stattdessen zu schützen.