cpp constructor/destructor example