Prototype de fonction C++

Résolu/Fermé
jihane jihane Messages postés 65 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 11 avril 2012 - 7 nov. 2011 à 09:13
jihane jihane Messages postés 65 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 11 avril 2012 - 7 nov. 2011 à 17:06
Bonjour,



est ce quelqu'un SVP peut m'expliquer c'est quoi le prototype de fonctions en C++ ??
A voir également:

2 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
7 nov. 2011 à 09:22
le nom de la fonction ce qu'elle retourne ainsi que le nombre et le type des arguments.
0
jihane jihane Messages postés 65 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 11 avril 2012
7 nov. 2011 à 17:02
Merci :)
0
silentData Messages postés 183 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 18 octobre 2013 40
7 nov. 2011 à 09:33
Un prototype te permet de déclarer une fonction que tu implémente plus bas.

Imagine ceci :

int i = 3;

void a() {
    if (i != 0) {
        b();
    }
    c();
}

void b() {
    i--;
    if (i > 0) {
        c();
    }
}

void c() {
    printf("lol");
}


Le problème du code ci-dessus (outre le fait qu'il ne veut rien dire et que c'est le bordel), est que la fonction a() appelle la fonction b() et inversement. Or, b() n'existe pas pour a() car il est déclaré au dessous. Et si on mets b() avant a(), c'est a() qui n'existera pas pour b().

Ainsi, tu peux régler ce problème avec un prototype :

int i = 3;

void a();
void b();
void c();

void a() {
    if (i != 0) {
        b();
    }
    c();
}

void b() {
    i--;
    if (i > 0) {
        c();
    }
}

void c() {
    printf("lol");
}


Les 3 prototypes permettent de déclarer une fonction pour la rendre visible à a(), tout en implémentant leur contenu plus tard. Un prototype doit avoir la même signature que la fonction elle-même.

Voilà la principale utilité des prototype.
0
jihane jihane Messages postés 65 Date d'inscription samedi 29 octobre 2011 Statut Membre Dernière intervention 11 avril 2012
7 nov. 2011 à 17:06
Merci bcp,j'ai bien compris d'après votre explication :)
0