everest% CC des5.C record2.C des5.C: record2.C: everest% everest% a.out Alternate Constructor: this=ffffffadc0, s=(100121fa,"S"),str=(10013010,"S") Destructor: this=ffffffadc0, str=(10013010,"S") Identify S: id: this=ffffffadd0, str=(10013010,"S") Calling foo Alternate Constructor: this=ffffffad60, s=(100121f8,"R"),str=(10013010,"R") Destructor: this=ffffffad60, str=(10013010,"R") Identify T: id: this=ffffffadc8, str=(10013010,"R") Identify R: id: this=ffffffad68, str=(10013010,"R") Destructor: this=ffffffad68, str=(10013010,"R") Destructor: this=ffffffadc8, str=(10013010,"R") Returned from foo End of main() Destructor: this=ffffffadd0, str=(10013010,"R") everest% everest% g++ des5.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%