Sunteți pe pagina 1din 2

17.

Bazele sistemului de I/O din C++ Streamuri n C++ Un stream este o entitate logic ce produce sau primete informaie. Un stream este legat de un echipament fizic prin sistemul de I/O din C++; Toate stream-urile se comport la fel chiar dac echipamentele fizice la care sunt conectate efectiv pot s difere substanial. Clasele de baz pentru streamuri fiierul antet iostream.h (#include<iostream.h>). Aici sunt definite dou ierarhii de clase care admit operaii de I/O. Clasa cu nivelul cel mai mic se numete sterambuf i asigur operaiile de baz de intrare i de ieire. A doua ierarhie pornete cu clasa ios, care accept I/O formatate. Din ea sunt derivate clasele istream, ostream i iostream. Aceste clase sunt folosite pentru a crea stream-uri capabile s introduc, s obin i respectiv s introduc / s obin. Streamuri predefinite n C++ stream cin cout cerr clog I/O formatate Sistemul de I/O din C++ v permite s formatai operaiile de I/O. De exemplu, putei s dai mrimea unui cmp, s specificai baza unui numr sau s determinai cte cifre se vor afia dup punctul zecimal. Putei s formatai: 1. putei avea acces direct la diferii membri ai clasei ios. Mai concret, putei s controlai diveri indicatori pentru format, definii n cadrul clasei ios, sau s apelai diferii membri ai clasei ios; 2. putei folosi funcii speciale numite manipulatori, care pot fi incluse n expresii de I/O. Formatarea folosind membrii ios semnificaie intrare standard ieire standard ieire standard pentru eroare versiune cu memorie tampon pentru cerr echipament implicit tastatur ecran ecran

Suprancrcarea operatorilor << i >> Crearea propriilor funcii de inserie ostream &operator<<(ostream &stream, tip_clasa obiect) { //corpul functiei de insertie return stream; } Crearea propriilor extractori istream &operator>>(ostream &stream, tip_clasa &obiect) { //corpul functiei de insertie return stream; } Crearea propriilor funcii de manipulare Crearea manipulatorilor fr parametri Crearea parametrilor parametrizai