•Function overloading
–Functions with same name and
different parameters
–Should perform similar tasks
•i.e., function to square ints
and function to square floats
• int square( int x) {return x * x;}
• float
square(float x) { return x * x; }
•Overloaded functions
distinguished by signature
–Based on name and parameter types (order matters)
–Name mangling
•Encodes function identifier with parameters
–Type-safe linkage
•Ensures proper overloaded function called