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 :

declaration variable global


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Par défaut declaration variable global
    Bonjour,

    donc j'ai 2 fichiers f1.cpp et f2.cpp
    je voudrai declarer une variable globale dans f1.cpp et l'utiliser dans une fonction du fichier f2.cpp

    Voici ce que j'ai ecrit, est ce que c'est correct?

    declaration dans f1.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include 
     
    std::string var_glob;
    dans une fonction de f1.cpp
    dans une fonction de f2.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::string val = f1.cpp::var_glob;

    merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    et pourquoi tu ne définies pas ta variable globale dans ton fichier .h inclus par les deux plutot ...

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Par défaut
    si tu me dit que sais mieux de faire comme ca
    je le ferais mais il fait que je le declare dans les 2 .h et hors de la class c ca?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    C est juste que si tu as deux fichiers cpp (f2.cpp et f1.cpp) tu dois certainement aussi avoir f1.h et f2.h.

    en gros si ton main est dans f1.cpp par exemple.

    tu dois avoir la structure suivante pour tes fichiers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //fichier f1.cpp
     
    #include f1.h
     
    int main(void){
     
    ...
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //fichier f1.h
     
    #include f2.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //fichier f2.cpp
     
    #include f2.h
     
    //définition des fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //fichier f2.h
     
    //ici tu définis ta variable globale que tu pourras utiliser partout :
    string var_glob;
     
    //définition des prototypes des fonctions de f2.cpp

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    f1.cpp::var_glob !? C'est pas du C++ ça .

    Dans f2.cpp, tu dois déclarer var_glob (qui est définie dans f1.cpp, mais t'as même pas à savoir en fait où est-ce que cette variable est défine ...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extern std::string var_glob;

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    a mon avis il a meme pas besoin du extern, f2.cpp doit surement etre inclus dans f1.cpp

  7. #7
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Citation Envoyé par Ashin Voir le message
    a mon avis il a meme pas besoin du extern, f2.cpp doit surement etre inclus dans f1.cpp
    Inclure des .cpp c'est très mal.

    En l'occurrence, il peut mettre la déclaration dans f1.h, et la définition dans f1.cpp.

Discussions similaires

  1. declaration variable globale
    Par ganjah06 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 31/07/2008, 00h33
  2. [C#.NET] Declarer variable globale
    Par Ticoche dans le forum Windows Forms
    Réponses: 7
    Dernier message: 31/12/2007, 09h59
  3. Utilisation et Declaration Variable globale
    Par skywaltitou dans le forum MFC
    Réponses: 7
    Dernier message: 28/11/2007, 16h00
  4. Declaration variable globale
    Par abbd dans le forum C++/CLI
    Réponses: 5
    Dernier message: 19/07/2007, 20h02
  5. declaration variable global
    Par zerocoolyoussef dans le forum ASP.NET
    Réponses: 1
    Dernier message: 09/06/2007, 11h53

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