Côté langages
169
Cependant, pour appeler cette fonction, il faudra la « préfixer » par le nom de classe X, comme dans :
y = X.f (5.35, ’z’) ; // affecte à y le résultat fourni par l’appel de X.f
Mode de transmission des paramètres
C ne dispose théoriquement que de la transmission par valeur. Mais, il existe des variables de type
« pointeur » destinées à contenir des adresses. En transmettant la valeur d’un pointeur, on peut alors
« simuler » une transmission par référence. D’autre part, dans un appel de fonction, un nom de tableau est
considéré comme un pointeur sur ce tableau, de sorte qu’en définitive, on retrouve l’équivalent de notre
transmission par référence pour les tableaux.
C++ dispose des mêmes possibilités que C, avec en plus la possibilité d’une transmission par référence
explicitée dans l’en-tête de la fonction, voisine de celle présentée ici (on utilise le symbole & à la place du
mot référence) :
void echange (int & a, int & b) // a et b sont transmis par référence
{ .....
}
Java et C# transmettent par valeur les paramètres d’un type de base (C# dispose en outre d’une possibilité
de transmission explicite par référence). Les tableaux sont des objets particuliers et, à ce titre, ils sont
repérés par une variable contenant une référence vers les valeurs du tableau. Leur transmission en paramètre entraîne la recopie de cette référence, de sorte que tout se passe comme si l’on avait affaire à une
transmission par référence.
PHP transmet, par défaut, tous les paramètres d’un type de base ou tableau, par valeur. On peut utiliser la
transmission par référence d’un paramètre, soit de façon permanente en le précisant dans l’en-tête de la
fonction, soit de façon occasionnelle, en le précisant lors de l’appel.
Par ailleurs, C++ et PHP permettent de définir, dans l’en-tête d’une fonction, des « valeurs par défaut »
des paramètres. Celles-ci seront utilisées en cas d’appel avec le paramètre effectif correspondant absent.
Programme principal
PHP dispose d’un programme principal, analogue à ce que nous avons utilisé jusqu’ici.
C et C++ disposent d’une « fonction principale » nommée main, pouvant posséder un résultat (de type
int) susceptible d’être exploité par l’environnement. Son en-tête se présente ainsi :
int main () // fonction principale
{ .....
}
Précédent

- 192/370

Suivant