Makapouf | 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 :
- #include <string>
- #include <fstream>
- using namespace std;
- #ifndef MEDIA_H_
- #define MEDIA_H_
- class Media{
- protected:
- string id;
- string titre;
- string auteur;
- public:
- Media();
- Media(string _id,string _titre,string _auteur);
- Media(ifstream flux);
- ~Media();
- string get_id();
- string get_titre();
- string get_auteur();
- };
- #endif /*MEDIA_H_*/
|
Voila le Media.cpp
Code :
- #include "Media.h"
- Media::Media(){
- id="";
- titre="";
- auteur="";
- cout << "Media créé" << endl;
- }
- Media::Media(string _id,string _titre,string _auteur){
- id=_id;
- titre=_titre;
- auteur=_auteur;
- cout << "Media créé" << endl;
- }
- Media::Media(ifstream flux){
- getline(flux,id,';');
- getline(flux,titre,';');
- getline(flux,auteur,';');
- }
- Media::~Media(){
- cout << "Média supprimé" << endl;
- }
- string Media::get_id(){
- return id;
- }
- string Media::get_titre(){
- return titre;
- }
- string Media::get_auteur(){
- return auteur;
- }
|
voila le main :
Code :
- #include "Media.h"
- int main(){
- Media *m;
- ifstream f;
-
- f.open("test.txt" );
- m = new Media(f);
- }
|
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 ![:) :)](https://forum-images.hardware.fr/icones/smile.gif) ---------------
La raison est la mesure de toutes choses! Venez découvrir de la peinture pointilliste
|