everest% CC des2.C record.C des2.C: record.C: everest% everest% a.out Alternate Constructor: this=ffffffadc0, field1=1, field2='s' Destructor: this=ffffffadc0, field1=1, field2='s' Identify S: id: this=ffffffadd0, field1=1, field2='s' Calling foo Alternate Constructor: this=ffffffad60, field1=2, field2='r' Destructor: this=ffffffad60, field1=2, field2='r' Identify T: id: this=ffffffadc8, field1=1, field2='s' Identify R: id: this=ffffffad68, field1=2, field2='r' Destructor: this=ffffffad68, field1=2, field2='r' Destructor: this=ffffffadc8, field1=1, field2='s' Returned from foo End of main() Destructor: this=ffffffadd0, field1=1, field2='s' everest% everest% g++ des2.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%