C++ Overloading Bob Walton, 7/16/96 Consider: (1) int max ( int x1, int x2 ); (2) float max ( float x1, float x2 ); These CONFLICT in C, but are LEGAL in C++. In C++ the `name' of a function consists of the normal name plus the types of the arguments: (1) has `name': max-int-int (2) has `name': max-float-float where `-' is some character that cannot be legally included in a normal name. NOTE: The result type does NOT participate in the name. Thus: int foo ( int x ); float foo ( int x ); CONFLICT in C++. NOTE: A function with zero arguments must be declared as in: int fum ( void ); and NOT as in: int fum (); The latter means the number and types of the arguments are UNKNOWN.