> You're blind Look at CLASS_2's constructor.[...] CLASS_1's constructor initialises it's data member using operator new, and then CLASS_2's constructor reassigns class1->data to something else.

Doh! You are right.