IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

utilisation de fonction membre dans une autre


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 40
    Points
    40
    Par défaut utilisation de fonction membre dans une autre
    j'aimerais savoir comment utiliser une fonction membre dans une autre par expl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Class A {
       private:
              int a, b;
       public
             int Geta();
             int Getb();
             void affiche(int);
    };
     
    int A::Geta(){
      return a;
    }
    int A::Getb(){
       return b;
    }
    void A::affiche(int i){
        cout << (Geta()*i) + Getb() <<endl;
    }
    j'obtient comme faute: undeclared (first use this function)

    merci de me repondre

  2. #2
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut
    2 trucs:
    Le premier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int A::Getb(){
       return b;
    }
    ne reçois rien comme argument... et retourne b...?!?
    Même chose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int A::Geta(){
      return a;
    }
    Le deuxième:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    undeclared (first use this function)
    indique qu'une variable, fonction... n'est pas déclarée... au niveau théorique, il y a qqch juste avant ça et ça pourrait nous être utile.

  3. #3
    Membre averti Avatar de xxiemeciel
    Inscrit en
    Juin 2005
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 371
    Points : 352
    Points
    352
    Par défaut
    Salut,

    dans ta declaration tu met affiche(int) et ensuite affiche(int i)

    peut etre qu'il ne reconnait pas la signature de la fonction affiche.

    Citation Envoyé par reggae
    ne reçois rien comme argument... et retourne b...?!?
    et alors ? je vois pas de pb la dedans.

    XXiemeciel

  4. #4
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 572
    Points
    1 572
    Par défaut
    Bonjour,
    si tu code ta classe dans un fichier unique soit tu deplace la declaration des méthodes au dessus de la declaration de la classe soit il faut declarer au dessus de ta classe la signature des methodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    int A::Geta();
    int A::GEtb();
    void A::affiche( int );
     
    Class A {
       private:
              int a, b;
       public
             int Geta();
             int Getb();
             void affiche(int);
    };
     
    int A::Geta(){
      return a;
    }
    int A::Getb(){
       return b;
    }
    void A::affiche(int i){
        cout << (Geta()*i) + Getb() <<endl;
    }

  5. #5
    Membre du Club
    Inscrit en
    Juin 2004
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 60
    Points : 40
    Points
    40
    Par défaut
    merci en fait ma faute etait que j'avais plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void affiche(int i){
        cout << (Geta()*i) + Getb() <<endl;
    }
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void A::affiche(int i){
        cout << (Geta()*i) + Getb() <<endl;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecriture d'une fonction imbriquée dans une autre
    Par kase74 dans le forum Débuter
    Réponses: 13
    Dernier message: 20/10/2008, 21h45
  2. [POO] appeler une fonction contenue dans une autre fenetre
    Par pepper18 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/09/2008, 02h27
  3. Utiliser la fonction sha1 dans une requête
    Par madevilts dans le forum PL/SQL
    Réponses: 31
    Dernier message: 22/08/2008, 15h15
  4. Réponses: 2
    Dernier message: 22/12/2006, 11h35
  5. Réponses: 5
    Dernier message: 29/06/2006, 17h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo