I have a situation that looks like the following code:
#include
class A
{
public:
A() { std::cout << \"A created!\" << std::end
If you apply operator "delete" to base class pointer, destructor MUST be virtual (existence of other virtual methods does not matter). For instance, in case of multiple inheritance "delete" operator applied to base class pointer will cause memory fault since compiler doesn't even know were the memory occupied by derived object begins.