Die Antwort ist ganz einfach: in C++ erzeugst du ja die Objekte mit
new, also müssen diese auch mit
delete wieder freigegeben werden (in Delphi aber mittels
Create und
Free (bzw.
Destroy)).
Du mußt aber unterscheiden, ob du jetzt reine C++ Klassen hast (wie in deinem Beispielcode) oder aber von VCL-Objekten geerbte Klassen (wie z.B. eine von TForm abgeleitete eigene Form). Bei VCL-Objekten (Steuerelemten) sollte möglichst immer der
Owner (dieser ist nicht zwangsläufig der
Parent) beim Erzeugen mit angegeben werden, so daß beim Zerstören einer Form alle untergeordneten Steuerelemente automatisch mit freigegeben werden.
Bei reinen C++ Klassen gibt es ja generell das
RAII-Prinzip, so daß man manuelle
delete-Aufruf vermeiden sollte (und stattdessen dann z.B.
unique_ptr<T> verwenden sollte).