que tienen una clase de una base y una clase derivada B:¿Por qué mi destructor nunca se llama?
class A
{
public:
virtual f();
};
class B : public A
{
public:
B()
{
p = new char [100];
}
~B()
{
delete [] p;
}
f();
private:
char *p;
};
Por alguna razón, el destructor nunca es llamado - ¿por qué? No entiendo esto.
Aunque todo el mundo ya descubrió cuál es el problema (como es una pregunta frecuente en C++), sigo sugiriendo que muestre el código de cómo utiliza la clase B. (Si lo usa de esta manera: B * p = new B(); eliminar p; y el destructor nunca ha llamado, entonces debería ser un problema totalmente diferente.) –