¿Por qué necesitamos un destructor virtual puro en C ++?

Entiendo la necesidad de un destructor virtual. Pero ¿por qué necesitamos un destructor virtual puro? En uno de los artículos de C ++, el autor ha mencionado que usamos el destructor virtual puro cuando queremos hacer un resumen de clase.

Pero podemos hacer un resumen de clase haciendo que cualquiera de las funciones de los miembros sea puramente virtual.

Así que mis preguntas son

¿Cuándo realmente hacemos un destructor puro virtual? ¿Alguien puede dar un buen ejemplo en tiempo real?

Cuando estamos creando clases abstractas, ¿es una buena práctica hacer que el destructor también sea puramente virtual? Si es así, entonces ¿por qué?

Respuestas a la pregunta(12)

Su respuesta a la pregunta