everest% CC des6.C record2.C des6.C: record2.C: everest% everest% a.out Alternate Constructor: this=ffffffadd8, s=(100121fa,"S"),str=(10013010,"S") Identify S: id: this=ffffffadd8, str=(10013010,"S") Calling foo Alternate Constructor: this=ffffffad70, s=(100121f8,"R"),str=(10013020,"R") Identify T: id: this=ffffffadd0, str=(10013010,"S") Identify R: id: this=ffffffad70, str=(10013020,"R") Destructor: this=ffffffad70, str=(10013020,"R") Destructor: this=ffffffadd0, str=(10013010,"S") Returned from foo End of main() Destructor: this=ffffffadd8, str=(10013010,"S") everest% everest% g++ des6.C record2.C everest% everest% a.out Alternate Constructor: this=7fff2ee8, s=(100000a4,"S"),str=(100002f0,"S") Identify S: id: this=7fff2ee8, str=(100002f0,"S") Calling foo Alternate Constructor: this=7fff2eb8, s=(10000080,"R"),str=(10000300,"R") Identify T: id: this=7fff2ed0, str=(100002f0,"S") Identify R: id: this=7fff2eb8, str=(10000300,"R") Destructor: this=7fff2eb8, str=(10000300,"R") Destructor: this=7fff2ed0, str=(100002f0,"S") Returned from foo End of main() Destructor: this=7fff2ee8, str=(100002f0,"S") everest%