Tengo uno class Aque usa una asignación de memoria de montón para uno de sus campos. La clase A se instancia y se almacena como un campo de puntero en otra clase ( class B.
Cuando termino con un objeto de clase B, llamo delete, que supongo que llama al destructor ... ¿Pero esto también llama al destructor de la clase A?
Editar:
De las respuestas, tomo eso (edite si es incorrecto):
deletede una instancia de B llama a B :: ~ B ();- que llama
A::~A(); A::~Adebería explícitamentedeletetodas las variables miembro asignadas en el montón del objeto A;- Finalmente, el bloque de memoria que almacena dicha instancia de clase B se devuelve al montón: cuando se usó nuevo , primero asignó un bloque de memoria en el montón, luego invocó a los constructores para inicializarlo, ahora después de que se hayan invocado todos los destructores para finalizar el objeto, el El bloque donde residía el objeto se devuelve al montón.