Skocz do zawartości
Thomas

C++: Dwa Różne Przeładowania Operatora '<<'

Rekomendowane odpowiedzi

Muszę wypisywać z klas dane za pomocą strumieni, przeciążyłem w tym celu operator '<<'. Teraz chcę zrobić wszystko w ten sposób, żeby inaczej wyglądały dane wypisywane na 'cout' (ładnie opakowane i poopisywane - to mam już zrobione za pomocą przeładowenago operator '<<' dla typu ostream) i chcę dodatkowo wypisywać "inaczej" do plików (w jakiejś czystej formie).

 

Dla tego drugiego chciałem przeciążyć operator '<<' dla typu fstream, ale coś nie bardzo chce działać, bo w przypadku:

 

fstream plik;plik.open ("plik.txt",ios::out);plik << moja_klasa;

wypisuje mi w takiej samej formie co na cout (domyślam się że to dlatego, że fstream jako biblioteka dziedziczy z iostream i domyślnie uruchamia mi moj 'stary' wyzej stojacy, przeladowany operator). Jest jakiś sposób na zorganizowanie operatora "<<", żeby w zależności od wejścia wypisywał różne dane ??

 

PS Dobra, temat do zamkniecia: trzeba wypisywac zamiast

plik << "nazwa:" <<moja_klasa;//tak jest zle

plik << "nazwa";plik << moja_klasa;//tak jest juz dobrze
Edytowane przez Thomas

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...