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

SL & STL C++ Discussion :

[debutant] pb destructeur. un IFSTREAM comme membre d'une class


Sujet :

SL & STL C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [debutant] pb destructeur. un IFSTREAM comme membre d'une class
    Bonjour à tous
    je veux utiliser une variable ifstream déclarée dans mon main (infile) pour initialiser un objet de ma classe CNaso. Le constructeur est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CNaso::CNaso(ifstream infile, int tipofile)
    {
      m_in_file=infile;
      m_Naso_Type=tipofile;
    }
    il y a un pb à la destruction de l'objet.
    je comprends que ça appelle le destructeur du membre m_in_file et mais aussi infile et ça bloque ???
    Comment on fait pour faire une copie de infile

    merci

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Les flux standards ne sont pas copiables.

    Deux solutions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class CNaso
    {
    public :
     
        CNaso(ifstream& file_in) : m_file_in(file_in)
        {
        }
     
    private :
     
        ifstream& m_file_in;
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class CNaso
    {
    public :
     
        CNaso(const string& file_in_name) : m_file_in(file_in.c_str())
        {
        }
     
    private :
     
        ifstream m_file_in;
    };

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Ok merci Laurent . je vais utiliser le nom du fichier.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 05/09/2014, 10h22
  2. Réponses: 2
    Dernier message: 12/10/2011, 16h24
  3. Réponses: 2
    Dernier message: 23/01/2007, 23h21
  4. [VB.NET]Reflexion lister les membres d'une classe ...presque
    Par lucie.houel dans le forum ASP.NET
    Réponses: 19
    Dernier message: 20/09/2005, 13h49
  5. Thread avec une fonction membre d'une classe
    Par SteelBox dans le forum Windows
    Réponses: 6
    Dernier message: 01/03/2004, 01h15

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