salut,
j'aimerais (pour un type) avoir deux surcharge d'operateur << differentes.
Le premier pour quand j'ecris dans des fichier texte ou les string et l'autre pour les fichier binaires.
Comment feriez-vous ?
Version imprimable
salut,
j'aimerais (pour un type) avoir deux surcharge d'operateur << differentes.
Le premier pour quand j'ecris dans des fichier texte ou les string et l'autre pour les fichier binaires.
Comment feriez-vous ?
Si tu as deux classes différentes pour tes fichiers texte et binaire alors le problème ne se pose pas.
Si tu utilises les flux standards alors il faut un seul opérateur << (de toute façon tu ne peux pas en écrire plusieurs ayant le même prototype), qui se débrouille pour savoir si l'écriture courante doit être binaire ou texte.
Mais si tu utilises les flux standards, utiliser l'opérateur << pour faire de l'écriture binaire est une mauvaise idée.
Ce n est pas le cas.Citation:
Envoyé par Laurent Gomila
bonne idée mais impossible a detecter a l interieur du code de l'operateur.Citation:
Envoyé par Laurent Gomila
ok, mais pourquoi ?Citation:
Envoyé par Laurent Gomila
une classe de trait à l'aide de template ???
Parce que les opérateur << prédéfinis font des écritures textuelles.Citation:
ok, mais pourquoi ?
Si tu veux gérer des écritures binaires facilement, alors gère ça au niveau de la classe qui réalise la sortie, et non au niveau de celle qui va être écrite. Tu peux créer une classe binary_stream qui redéfinit les opérateurs << pour faire des écritures binaires, par exemple.