1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| // Déclaration d'une fonction ( à mettre dans le *.h)
int* fonction(int parm1, int parm2);
// Implémentation de la fonction ( à mettre dans le *.cpp)
int* fonction(int parm1, int parm2)
{
int * resultat = new int;
*resultat = parm1 + parm2;
return resultat;
}
int autre_fonction(int i1, int i2)
{
return i1*i2;
}
int main(int argc, char* argv[])
{
// Usage de la fonction qui renvoie un pointeur sur un int
int * p1 = fonction(1,2);
if(p1)
delete p1;
// Ceci est une variable, on déclare un pointeur de fonction
int (*fonction_ptr)(int parm1, int parm2);
// Usage du pointeur de fonction
fonction_ptr = autre_fonction;
// Appel de ce pointeur
int resultat = (*fonction_ptr)(3,4);
return 0;
} |