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 :

heritage de la classe ofstream


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut heritage de la classe ofstream
    bonjour
    j'ai cree une classe MFile héritée de la classe ofstream dans le but de creer des fichiers préformatés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class MFile : public ofstream
    voila mon constructeur
    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
    MFile::MFile() :ofstream()
    {
        //recuperation de la date
        struct tm Today;
        time_t now;
     
        time(&now);
        Today = *localtime(&now);
        char* filename = new char[25];
     
        sprintf(filename,
                "m_%4.4d_%2.2d_%2.2d.txt",
                (Today.tm_year+1900),
                (Today.tm_mon + 1),
                (Today.tm_mday));
     
        MFile::open(filename);
     
        //erciture de l'entete
        //...???? MFile << filename; ??
     
        delete[] filename;
    }
    je voudrais pouvoir utiliser les operateurs << et >> au sein de ma classe dans le constructeur par exemple : (je ne veux pas les surcharger!)
    Quel est la syntaxe pour faire ceci?
    merci

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Salut,

    Il ne faut pas faire un héritage de la classe ofstream, et donc, pourquoi "ne peux tu pas" surcharger l'opérateur <<

    C'est pourtant le moyen le plus simple et le plus efficace
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    résolu : juste un probleme de syntaxe
    *this << "mon entete"

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Mais je ne comprend toujours pas pourquoi tu veux faire un héritage (qui est déconseillé sur les flux I/O), et non, tout simplement, faire une agrégation, voire, surcharger l'opérateur << sous la forme d'une méthode amie
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

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

Discussions similaires

  1. probleme d'heritage entre 2 classes
    Par Shrine dans le forum C++
    Réponses: 6
    Dernier message: 11/08/2007, 22h27
  2. Heritage par sous classe avec discriminateur
    Par hipchic dans le forum Hibernate
    Réponses: 1
    Dernier message: 04/01/2007, 19h51
  3. Ecrire l'octet 0x00001010 (10) avec la classe ofstream ?
    Par Vincent San dans le forum SL & STL
    Réponses: 2
    Dernier message: 30/12/2005, 14h39
  4. Heritage de plusieur classes
    Par JiJiJaco dans le forum Langage
    Réponses: 10
    Dernier message: 26/12/2005, 19h12
  5. [heritage] etendre une classe interne en dehors du package
    Par ChristopheH dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2004, 14h15

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