// Ex722.cc // Sec. 7.2 of lecture // Function parameter by reference #include //double sgn(double& x); // by reference double sgn(const double& x); // by const. reference double c_sgn(double& x); //------------------------------------------ main() { const double a_const = 3.78; double a,b; cout << endl << " Input Argument : "; cin >> a; b = sgn(a); // by reference cout << " 1: sgn(" << a << ") = " << b << endl; b = sgn(a_const); // by reference // works only with const. reference as parameter cout << " 2: sgn(" << a_const << ") = " << b << endl; b = c_sgn(a); // by reference b = sgn(4.5); // by reference cout << " sgn(Konst.) = " << b << endl; } //------------------------------------------ // declare function //double sgn(double& x) // reference double sgn(const double& x) // const. reference { double y; if ( x > 0.0 ) { y = 1.0 ; } else { if ( x == 0.0 ) { y = 0.0 ; } else { y = -1.0 ; } } return y; } //------------------------------------------ double c_sgn(double& x) { return sgn(x); }