//  File: fover4.C
//
//  Function overloading illustrated

#include <iostream.h>

// Two functions named foo with different signatures
// However, this is not always enough to distinguish the two functions.

void foo (int a, int b) {
   cout << "int a = " << a ", int b = " << b << "\n" ;
}

void foo (float a, float b) {
   cout << "float a = " << a << ", float = " << b << "\n" ;
}


main() {
   int n=1, m=2 ;
   float x=3.1, y=2.4 ;

   foo(n,m) ;
   foo(n,x) ;
   foo(x,n) ;
   foo(x,y) ;
}
