Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2994 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Utilisation d'ifstream dans une class

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utilisation d'ifstream dans une class

n°1514753
Makapouf
Posté le 14-02-2007 à 21:06:20  profilanswer
 

Bonjour tout le monde,
 
Débutant en C++ j'essaie de faire la chose suivante :
utiliser un flux de donnée lu a partir d'un fichier pour initialiser une class nommée ici Media.
 
Le problème ce produit a la compilation quand j'appel je constructeur utilisant un flux.
 
voilà le Media.h :
 

Code :
  1. #include <string>
  2. #include <fstream>
  3. using namespace std;
  4. #ifndef MEDIA_H_
  5. #define MEDIA_H_
  6. class Media{
  7. protected:
  8. string id;
  9. string titre;
  10. string auteur;
  11. public:
  12. Media();
  13. Media(string _id,string _titre,string _auteur);
  14. Media(ifstream flux);
  15. ~Media();
  16. string get_id();
  17. string get_titre();
  18. string get_auteur();
  19. };
  20. #endif /*MEDIA_H_*/


 
Voila le Media.cpp

Code :
  1. #include "Media.h"
  2. Media::Media(){
  3. id="";
  4. titre="";
  5. auteur="";
  6. cout << "Media créé" << endl;
  7. }
  8. Media::Media(string _id,string _titre,string _auteur){
  9. id=_id;
  10. titre=_titre;
  11. auteur=_auteur;
  12. cout << "Media créé" << endl;
  13. }
  14. Media::Media(ifstream flux){
  15.                       getline(flux,id,';');
  16.                       getline(flux,titre,';');
  17.                       getline(flux,auteur,';');
  18.                       }
  19. Media::~Media(){
  20. cout << "Média supprimé" << endl;
  21. }
  22. string Media::get_id(){
  23. return id;
  24. }
  25. string Media::get_titre(){
  26. return titre;
  27. }
  28. string Media::get_auteur(){
  29. return auteur;
  30. }


 
voila le main :

Code :
  1. #include "Media.h"
  2. int main(){
  3.     Media *m;
  4.     ifstream f;
  5.    
  6.     f.open("test.txt" );
  7.     m = new Media(f);
  8. }


 
L'erreur parle de fonction private utilisé dans des class dont hérite fstream
J'imagine que pour les puristes je fais une erreur grossière, mais la j'ai eu beau cherché sur le net je vois pas :(
 
Merci :)


---------------
La raison est la mesure de toutes choses!   Venez découvrir de la peinture pointilliste
mood
Publicité
Posté le 14-02-2007 à 21:06:20  profilanswer
 

n°1514754
Joel F
Real men use unique_ptr
Posté le 14-02-2007 à 21:07:51  profilanswer
 

Media::Media(ifstream& flux)
 
les stream n'ont pas de sémantique de copie

n°1514757
Makapouf
Posté le 14-02-2007 à 21:14:40  profilanswer
 

Merci beaucoup, réponse rapide et précise :)
 
Bonne soirée :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Utilisation d'ifstream dans une class

 

Sujets relatifs
[Resolu] Une class sur une "font" pas fonctionnelle sous FF :o[C] comprendre le nom d'un symbole dans un binaire (+gprof)
EXCEL utilisation UseformProblème utilisation phpPgAdmin
Utilisation de SQL Mail[Résolu] Ifstream et commentaires
Utilisation certificat SSL chez 1&1[ASP.NET] Mélanger l'utilisation de ASPNETDB et une BDD classique
Cannot instantiate non-existent class: sessionUtilisation classe Runtime ds servlet
Plus de sujets relatifs à : Utilisation d'ifstream dans une class


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR