// File: good3.cpp // // Testing dmc2.h with assignment and copy // #include #include "dmc2.h" using namespace std ; // Try passing by value and returning by value: DMC foo (DMC Y) { cout << "Entering function foo()\n" ; Y.Set(70) ; cout << "Just before returning from function foo()\n" ; return Y ; } int main() { cout << "\n\nEntering main()\n" ; DMC X, Y ; X.Set(10) ; Y.Set(30) ; cout << "\nOriginal X & Y:\n" ; cout << "X: " << X << "\n" ; cout << "Y: " << Y << "\n" ; X = foo(Y) ; // This is highly inefficient! cout << "\nX & Y after assignment:\n" ; cout << "X: " << X << "\n" ; cout << "Y: " << Y << "\n" ; }