Issa
Nouveau membre
Bonjour à tous.
Je n'arrive pas à définir une classe lisant dans un fichier et écrivant dans un autre :
[cpp]
#include <fstream>
#include <iostream>
using namespace std;
class texte : public ifstream, public ofstream
{
public:
texte(void) : ifstream("in.txt"), ofstream("out.txt")
{}
};
int main(void)
{
texte t;
int c = t.ifstream::get();
cout << c << "\n";
}[/cpp]
A l'exécution le programme m'affiche '-1' ce qui montre que le flux d'entrée n'est pas valide. Par contre si ma classe 'texte' n'hérite que d' ifstream (sans hériter d'ofstream, donc) la lecture est correcte.
Merci de m'aider : pourquoi le méchanisme d'héritage ofstream -> texte bloque-t-il mon flux d'entrée ?
Je n'arrive pas à définir une classe lisant dans un fichier et écrivant dans un autre :
[cpp]
#include <fstream>
#include <iostream>
using namespace std;
class texte : public ifstream, public ofstream
{
public:
texte(void) : ifstream("in.txt"), ofstream("out.txt")
{}
};
int main(void)
{
texte t;
int c = t.ifstream::get();
cout << c << "\n";
}[/cpp]
A l'exécution le programme m'affiche '-1' ce qui montre que le flux d'entrée n'est pas valide. Par contre si ma classe 'texte' n'hérite que d' ifstream (sans hériter d'ofstream, donc) la lecture est correcte.
Merci de m'aider : pourquoi le méchanisme d'héritage ofstream -> texte bloque-t-il mon flux d'entrée ?