Il est possible de préciser la valeur par défaut de l'argument d'une
fonction, c-à-d que si un appel à la fonction ``oublie'' de préciser la
valeur d'un argument, une valeur pré-fixée lui sera assignée.
On ne peut donner une valeur par défaut qu'aux derniers arguments d'une
fonction, c-à-d qu'un argument ne peut pas avoir de valeur par défaut si le
suivant n'en a pas. De même, lors de l'appel de la fonction, si on souhaite
ne pas préciser l'un des arguments, on ne pourra pas préciser les suivants.
Syntaxe:
void f(int a, double b, bool c = true); void g(double x = 3.14, double y = 2.78);
Dans cet exemple, un appel à f(0, 0.1)
sera équivalent à un appel à
f(0, 0.1, true). Un appel à \verb
g(0.)+ sera équivalent à
g(0., 2.78)
et un appel à g()
à g(3.14, 2.78)
. On ne
peut pas préciser la valeur de y
sans donner celle de x
.
Si la déclaration et la définition de la fonction sont séparées, les valeurs par défaut doivent être précisées dans la déclaration mais pas dans la définition.