[ n__i__k @ 06.12.2011. 18:38 ] @
Vezbao sam neke zadatke i trazi mi se da uradim overload operatora za ispis podataka. Nije mi jasno sta tu treba da uradim, a ni kako.
[ glorius @ 09.12.2011. 15:29 ] @
http://www.cplusplus.com/refer...stream/ostream/operator%3C%3C/

Sustina je da vec postoje overloadovani operatori za char, int... kao sto mozes videtu u linku.

Na primer:

ostream& operator<< (ostream& out, char c );

Ovo omogucava da u kodu pises:

Code:


char c;
cout << c;



cout je globalni ostream objekat (verujem da si ga vec koristio za ispisivanje na ekranu).

Ti bi trebao da napravis funkciju koja lici na gore navedenu u mom primeru:

ostream& operator<< (ostream& out, char c );

Funkcija bi trebala da prihvata tvoj podatak. Sad ne znam da li je u zadatku napomenuto da trebas da imas objekat neke klase koji bi trebalo da prosledis funkciji. Ako je tako onda ce kod izgledati ovako:

Code:


class MojaKlasa
{
      public:
         int podatak;
};

ostream& operator<< (ostream& out, MojaKlasa obj )
{
      out << obj.podatak;
      return out;
}



Ovo je overload operatora za ispis.

Na ovaj nacin si omogucio da stampas podatak tvoje klase:

Code:


void main()
{
      MojaKlasa obj;
      obj.podatak = 3;

      cout << obj;
}