Dlaczego tak
Przy tworzeniu obiektu klasy pochodnej najpierw wywoływany jest konstruktor klasy bazowej, a dopiero potem pochodnej, bo część pochodna może korzystać z już zainicjalizowanej części bazowej: „BP”. Niszczenie przebiega odwrotnie — najpierw destruktor klasy pochodnej, potem bazowej: „~P~B”. Odpowiedź BP~B~P zakłada tę samą kolejność przy niszczeniu co przy tworzeniu, a P~P pomija wywołania dla części bazowej.