Des fonctions
différentes peuvent porter le
meme
nom , elles se distingueront par le nombre et le type de leurs
arguments.
On parle de surcharge.
On veillera a
n'appeler par le meme nom que des
fonctions
réalisant des operations similaires.
Exemple 1
double
ajoute(double x, double y)
{
return
x+y;
}
int
ajoute(int x, int y)
{
return
x+y;
}
double a,b,c;
int i,j,k;
a=ajoute(b,c);
// appelle la fonction opérant sur des
double
i=ajoute(j,k);
// appelle la fonction opérant
sur des entiers
Exemple 2
#include<cmath> // mettre ca au debut
double
norme(double x)
{
return
fabs(x);
}
double
norme(double x, double y)
{
return
sqrt(x*x+y*y);
}
double
norme(double x, double y, double z)
{
return
sqrt(x*x+y*y+z*z);
}
double
a,b,c,d;
a=norme(b);
// appelle la fonction à un argument
a=norme(b,c);
// appelle la fonction à deux arguments
a=norme(b,c,d);
// appelle la fonction à trois arguments
Voir ici le polymorphisme pour les objets