6.2. Function Overloading

To overload functions, provide unique signatures and different implementations for functions with the same name. Signatures are important because the compiler does not use a function's return type for overloading. Here are the formats.

					Type f(signature1);              // global function, program scope 
static Type f(signature2);       // static function, file scope

class Class_name {
 . . .
   Class_name(signature3);       // constructor
   Class_name(signature4);       // constructor, different signature
   Type f(signature5);           // member function
   static Type f(signature6);    // static member function
 . . .
};

You may overload any function except class destructors. Since scope rules apply to functions and their signatures (including const and volatile), overloading ...

Get Navigating C++ and Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.