So to understand new/delete better (really to prove to myself with small examples why virtual destructors are needed for interfaces), I want to understand memory leaks, so that
This would be a memory leak:
int* P1 = new int(43); P1 = new int(42);
Allocating memory without deleting it again.