Creo que lo virtual solo es generalmente suficiente.¿Debería un destructor de clase abstracta ser puro virtual?
¿Hay alguna otra razón para hacerlo puramente virtual que obligar a las clases derivadas a implementar su propio destructor? Quiero decir, si asigna algo al constructor de su clase, debe imponer su propio destructor, si su clase es derivada o no.
No cuenta como respuesta ya lo sé: si quieres que tu clase sea abstracta y no tenga funciones virtuales puras, déjala al destructor.
Algunos más usos?
Tenga en cuenta que el compilador genera automáticamente un destructor en la clase derivada si no se proporciona explícitamente. Este destructor generado automáticamente es suficiente, no está obligado a escribir un destructor usted mismo, incluso si el de la clase base es puro. – sth
Entonces, incluso el primer motivo es en realidad ninguno. Gran comentario! –
Sólo una nota al margen: otra función que debe ser virtual es (cuando existe) el operador =. La misma razón que el dtor. – rkellerm