everest% CC des3.C record.C des3.C: record.C: everest% everest% a.out Alternate Constructor: this=ffffffadd8, field1=1, field2='s' Identify S: id: this=ffffffadd8, field1=1, field2='s' Calling foo Alternate Constructor: this=ffffffad70, field1=2, field2='r' Identify T: id: this=ffffffadd0, field1=1, field2='s' Identify R: id: this=ffffffad70, field1=2, field2='r' Destructor: this=ffffffad70, field1=2, field2='r' Destructor: this=ffffffadd0, field1=1, field2='s' Returned from foo End of main() Destructor: this=ffffffadd8, field1=1, field2='s' everest% everest% g++ des3.C record.C everest% everest% a.out Alternate Constructor: this=7fff2ee8, field1=1, field2='s' Identify S: id: this=7fff2ee8, field1=1, field2='s' Calling foo Alternate Constructor: this=7fff2eb8, field1=2, field2='r' Identify T: id: this=7fff2ed0, field1=1, field2='s' Identify R: id: this=7fff2eb8, field1=2, field2='r' Destructor: this=7fff2eb8, field1=2, field2='r' Destructor: this=7fff2ed0, field1=1, field2='s' Returned from foo End of main() Destructor: this=7fff2ee8, field1=1, field2='s' everest%