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

Langage C++ Discussion :

Utiliser un même objet entre plusieurs fichiers source


Sujet :

Langage C++

  1. #1
    Invité
    Invité(e)
    Par défaut Utiliser un même objet entre plusieurs fichiers source
    Bonjour,
    C'est après avoir épluché les livres et les documents que l'on peut trouver sur le net que je vous soumet mon problème.
    Je dispose de plusieurs fichier :
    • main.cpp
    • Latex.h
    • Latex.cpp
    • second.cpp

    Comme vous l'aurez compris Latex est une classe, dans main.cpp je défini un objet de cette classe nommé tex.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int main()
    {
    Latex *tex=NULL;
    tex=new Latex();
    //je peux ainsi utiliser les fonctions de cette classe
    tex->ecrire("123");
    }
    dans le constructeur de Latex on trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Latex::Latex()
    {
    ofstream fichier("latex.tex",ios::out);
    fichier << "123";
    }
    Jusqu'à là pas de problème. Mais maintenant je souhaite utiliser un autre fichier de source pour pouvoir mieux "ranger", mon projet, or si je souhaite utiliser tex, je ne peux pas
    Mon idée était d'utiliser un fichier header, mais rien y fait cela ne fait que me provoquer des erreurs du type first defined here.
    Je suis donc dans l'impasse, auriez-vous une méthode qui pourrait me permettre d'utiliser l'objet de cette classe dans mes deux fichier de source.
    Merci d'avance,
    -- Lord Nazdar

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    578
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 578
    Points : 1 536
    Points
    1 536
    Par défaut
    Salut,

    Probablement un problème d'inclusion multiple. Ceci devrait t'aider

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 128
    Points : 33 040
    Points
    33 040
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    la portée d'une variable ne dépend pas du fichier où elle se trouve. Elle dépend d'où elle a été déclarée.

    L'idée d'utiliser un fichier header ?
    Pour en faire une globale ? mauvaise idée.
    A la limite un singleton, mais ça correspond pas vraiment amha.
    Mais dans ton cas un paramètre de fonctions devrait suffire à passer Tex de l'un à l'autre.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci pour vos réponses ,
    Donc si je comprend bien vous me déconseillez de l'utiliser en tant que variable globale.
    je tente la méthode que vous m'avez conseillé, je passe le sujet en résolu si cela fonctionne .
    EDIT : ça fonctionne parfaitement, merci
    Dernière modification par Invité ; 20/12/2011 à 23h22.

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

Discussions similaires

  1. Jongler entre plusieurs fichiers en même temps
    Par tom77380 dans le forum Général Python
    Réponses: 1
    Dernier message: 15/12/2011, 10h07
  2. Réponses: 2
    Dernier message: 01/10/2009, 15h58
  3. utilisation de plusieurs fichiers sources
    Par piopium dans le forum Flex
    Réponses: 1
    Dernier message: 22/07/2008, 11h02
  4. Réponses: 3
    Dernier message: 27/02/2008, 22h58
  5. Réponses: 10
    Dernier message: 08/02/2007, 13h18

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