class X; class A { X *my_object; public : A( ) { my_Object = new X; } ~A( ) { } };Takže pokud si dobře vzpomínám tak standarty pro C++ jasně říkají, že destruktor třídy a bude volán, vždy, když bude instance této třídy odstraněna z paměti. Ale už nikde neříkají nic o tom, že se C++ musí automaticky postarat o odstraňovaní jejich prvků. Což tedy znamená, že při vytvoření instance třídy A se zavolá konstruktor, který alokuje paměť pro vnořenou instanci my_Object typu X. Při odstranění třídy A je sice zaručeno, že se musí zavolá její destruktor, ale už se nebude automaticky starat o proměnou my_Object !!! Jinými slovy tohle je už na vaše starost. Pokud nezavoláte v destruktoru operátor delete, aby "uklidil" proměnou my_Object, tak vám zůstane v paměti. Ale nejen to, vy k ní už nemáte (v tomto konkrétním případě) korektní přístup... A přesně toto mám celou dobu na mysli.