Read and Write must mirror each other. Write sets the file format, Read must be able to read the same format. This class test now knows how to write itself to an ostream and read from an istream. The nonmember operators are called in for instance...

cout << test1;

This calls operator << ( cout, test1) which calls test1.Write( cout ) which places each member into the stream separated by in this example the '/' char and a newline at the end of each test written. I should have used '\n' instead of endl as endl causes a stream flush but the point was to show you how to structure simple serialisation of classes.