Overloaded function selection rules
\zline{\fbox{C++}}
- [1] no or unavoidable conversions
-- array->pointer, T -> const T
- [2] integral promotion
-- char->int, short->int, float->double
- [3] standard conversions
-- int->double, double->int, derived* -> base*
- [4] user-defined conversions
-- constructors and operators
- [5] ellipsis in function declaration
-- ...
Multiple arguments
-- intersect rule
- better match for at least one argument
and at least as good a match for every other
argument
slide: Overloading in C++