ifstream, d�rivation ou encapsulation ?
Salut � tous et bonne ann�e :D !
Voila, j'ai un petit probl�me, petit car je pourrai passer par des moyens d�tourn�. Je vous explique, j'ai un fichier configuration � charger, simple fichier texte listant un certain nombre de donn�es dans un certain ordre. J'aimerais y ajouter des commentaires, pr�c�d� d'un '#' par exemple. Jusque l�, il n'y a pas de soucis.
Oui, mais voila, je voudrai que �a soit compl�tement transparent � l'utilisation, je souhaiterai pouvoir faire des "file>>value" qui ignorerai automatiquement les commentaires. Pour cela, deux solutions me sont venus � l'esprit, l'encapsulation tout d'abord ou la d�rivation ensuite.
la d�rivation par exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
class CFileConfig : public std::ifstream
{
public:
CFileConfig(const char * filename):std::ifstream(filename){};
~CFileConfig();
};
/* plus loin */
CFileConfig file("file.txt");
int var1,var2;
file>>var1>>var2; |
Mon probl�me est donc surd�finir l'op�rateur >> afin qu'il garde la capacit� d'�crire dans n'importe quel type de donn�e tout en ignorant les lignes commencant par un #...
Merci d'avance pour vos pistes :)
Edit: Oula, je viens de me rendre compte que ce message risque de ne pas �tre au bon endroit� :oops: