Krutě vykonstruované? Viděl jste už někdy použít na začátku metody něco jako
ASSERT_VALID(this);
Když to na začátku skoro každé metody neuvedete, vystavujete se riziku, že si vesele budete vykonávat její kód a třeba někde v její polovině zjistíte, že máte nějaký hodně podezřelý obsah instančních proměnných.
I když se budete všude snažit používat reference a na veškerou správu paměti pečlivě dbát, pořád se budete muset spoléhat na cizí knihovny, někdo jiný vaši metodu zavolá a validitu objektu si předem neověří apod.