= fonctions différentes qui portent le même nom
Distinction par
le nb d'arguments
le type des arguments
sinon ambiguïté
Surdéfinition + conversions implicites ® ambiguïté
Le compilateur n'arrive pas à choisir quelle fonction appeler
Conversions implicites
char
®
int
float
®
double
Si toujours pas de correspondances
int ® float
Les fonctions avec valeurs par défaut sont des fonctions surchargées
void procédure(type1 x = val-déf-x, type2 y = val-déf-y)
▪ les 2 paramètres x et y sont précisés
p(int x, int y)
▪ seul x est précisé
p(int x)
▪ aucun n'est précisé : on utilise les valeurs par défaut
p( )
® 3 fonctions difftes ayant le même nom
Affectation des paramètres : ®
Affectation des valeurs par défaut : ¬
Les paramètres non précisés seront affectés des valeurs par défaut.
Le compilateur choisit la fonction qui a la meilleure correspondance de type pour chacun des arguments
Si une seule fonction : ok
sinon : erreur de compilation
2 arguments
▪ int nb-de-mots-de-la-ligne-de-commande
▪ char *[ ] tab-de-chaîne-de-car-qui-contient-chhacun-des-mots-dans-une-case-différente
# include <stdlib.h>
itoa("val-numérique-entière
")
® conversion en chaîne
atoi( )