La surcharge de fonctions permet l'existence de plusieurs versions d'une même fonction mais avec différentes signatures.
Règles d'appel de fonctions (déterminé à la compilation)
- Match exact
- Match trivial
- nom de tableau -> pointeur
- int -> const int
- Une fonction template
- Match avec promotion
- char -> int
- short -> int
- float -> double
- Match avec conversion standard
- int -> float
- float -> int
- Derived* -> Base*
- T* -> void
- Match avec conversion définie par l'utilisation
- constructeur à un argument
- etc