Exemple de déclaration :
type nom(paramètres)
int somme(int, int);
Exemple de définition :
int somme (int i, int j){
return i+j;
}
- Une fonction permet de regrouper du code et ainsi de le rendre plus clair
- Les fonctions ont un type de retour
int carre(int x) {
return x*x;
}
- Pour faire une procédure, on utilise void comme type de retour
void afficheNb(int nb){
cout << nb << endl;
}
La signature d’une fonction est le type des paramètres en entrée. 2 fonctions ne peuvent avoir le même nom que si leur signature est différente (on parle de surcharge de fonction).
Exemple :
float test(int i, int j){
return i+j;
}
float test(float i, float j){
return i*j;
}
//Les 2 signatures (int,int) et (float,float) sont différentes, donc ok.
On ne peut pas avoir 2 fonctions du même nom et les mêmes paramètres avec un type de retour différent.
On peut donner des valeurs par défaut à certains paramètres. Ceux-ci doivent être en dernier dans la liste des paramètres.
int somme (int i, int j=2){
return i+j;
}
int result = somme(3) //result = 5
Attention sur l’utilisation des valeurs par défaut avec la surcharge de fonction.
Pour appeler une fonction, on utilise son identificateur suivi des parenthèses et des valeurs données aux paramètres.
public class CleanWorld {
/** Le programme commence ici */
public static void main(String[] args) {
sayHelloTo("world");
}
private static void sayHelloTo(String recipient) {
System.out.println("Hello " + recipient);
}
}
public class Calcul {
public int somme(int a, int b) {
System.out.println("Hello " + recipient);
}
public int soustraction(int a, int b) {
System.out.println("Hello " + recipient);
}
}
public class Test {
/** Le programme commence ici */
public static void main(String[] args) {
Calcul calcul = new Calcul();
int result_somme = calcul.somme(5, 3);
int result_soustraction = calcul.soustraction(5, 3);
}
}