В следующем примере b
– это тип полиморфного указателя, статический тип которого — Base*
, а динамический тип — Derived*
.
struct Base
{
virtual void f();
};
struct Derived : Base
{
};
int main()
{
Base *b = new Derived();
// ...
delete b;
}
Что происходит, когда b
удаляется без виртуального деструктора?