logo
шпоры по ООП

42.Организация ввода-вывода для пользовательского типа

Хоть стандартные потоки и позволяют выводить только встроенные типы, эту проблему можно с легкостью обойти. Надо просто для класса, который мы хотим выводить в поток, определить дружественный оператор <<, у которого первый параметр и возвращаемое значение – поток, второй параметр - объект данного класса:

include &ltiostream.h>

include &ltconio.h>

class cVector{

public:

float x,y;

cVector( void ){x=1;y=2;}

friend ostream &operator<<( ostream& , cVector & );

};

ostream &operator<<( ostream & ostr , cVector &v ){

cout<<"x:"<<v.x<<endl;

cout<<"y:"<<v.y<<endl;

return( ostr );

}

int main( void ){

cVector v;

cout<<v<<endl;

getch();

return 0;

}