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 :

appel de fonction depuis autre .cpp


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut appel de fonction depuis autre .cpp
    Bonjour à tous.

    Donc j'ai crée des fonctions dans un .cpp que j'aimerais appeler dans un autre.cpp.
    Ces fonctions me retourne tout simplement un string.

    Dans mon deuxieme fichier .cpp, j'ai mis le nom de ma
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaClasse_a_ppeler::getPower
    J'ai aussi fais mon #include donc pas de pb de reconnaissance de ce cote la.
    En revanche j'ai le message d'erreur suivant : Error 1 error C2352: 'MaClasse::getPower' : illegal call of non-static member function.

    Comment je peux faire faire pour rendre cela statique?
    Car quand je mets le mot static devant ma fonction membre, j'ai d'autres erreurs:

    Merci les amis.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Tu as deux méthodes dans une classe : les méthodes d'instance :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class MaClasse
    {
    public:
       void MaMethode();
    }
    // Puis dans le .cpp :
    void MaClasse::MaMethode()
    {}
    que tu dois appeler avec une instance de ta classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       MaClasse a;
       a.MaMethode();
    // ou avec une instance anonyme :
       MaClasse().MaMethode();
    Puis tu as les méthodes statiques qui ne s'applique pas à une instance de l'objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class MaClasse
    {
    public:
       static void MaMethode();
    };
    // Puis dans le .cpp :
    void MaClasse::MaMethode()
    {}
    Tu n'as alors pas besoin d'une instance pour l'appeler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaClasse::MaMethode();
    Mais, ça doit avoir une cohérence sur ta conception.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 141
    Par défaut
    Thanks a lot!!

    C'est exactement cela, j'ai oublie de créer une instance de classe dans mon main. Je pense d'ailleurs qu'il est préférable de faire comme cela plutôt que d'utiliser le mot clé static.
    Merci donc pour la qualité, la précision et la concision de ta réponse.
    Bonne journée.
    Julien

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

Discussions similaires

  1. Appeler une fonction depuis une autre classe
    Par DangerousMic dans le forum Débuter
    Réponses: 5
    Dernier message: 06/01/2015, 23h49
  2. Appeler une fonction depuis un autre module
    Par willyol3 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 08/06/2011, 08h51
  3. [PHP 5.2] appeler une fonction depuis une autre en POO
    Par Haxor668 dans le forum Langage
    Réponses: 2
    Dernier message: 23/09/2009, 10h02
  4. Appeller une fonction depuis un autre site
    Par ProgVal dans le forum Langage
    Réponses: 3
    Dernier message: 03/12/2008, 18h01
  5. [VB]appeler une fonction d'autre programme vb
    Par medbouh dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 17/03/2006, 11h27

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