[flux] héritage combiné d'ifstream et d'ofstream
Bonjour à tous : je me permets de poster ce sujet sur Developpez.com après l'avoir posté sur d'autres forums car je suis très intrigué par mon problème.
Voilà, j'ai un souci avec une classe 'texte' lisant dans un fichier et écrivant dans un autre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
#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";
} |
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.
Pourquoi le méchanisme d'héritage ofstream -> texte bloque-t-il mon flux d'entrée ?
Merci d'avance à ceux qui me liront.