#include using namespace std ; class ABC { public: ABC() : x(0) { // do nothing } ABC(int y) : x(y) { // do nothing } void Print() { cout << &x << " = " << x << endl ; } private: int x ; } ; ABC& foo(int z) { ABC *ptr ; ABC D(z) ; //ptr = new ABC(z) ; //cout << "Inside foo: " ; //ptr->Print() ; // return *ptr ; D.Print() ; return D ; } main() { ABC X(4) ; X.Print() ; X = foo(17) ; cout << "In main() X: " ; X.Print() ; ABC& Y = foo(29) ; cout << "In main() Y: " ; Y.Print() ; foo(35) ; cout << "In main() Y: " ; Y.Print() ; }