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% 
