Is it possible to get memory leak when deallocate a derived class object by deleting its base class pointer(if the base class has virtual destructor)? What about the base class doesn't have virtual destructor?