// io/frac2out.cpp #include #include template inline std::basic_ostream& operator << (std::basic_ostream& strm, const Fraction& f) { /* Строковый поток * - с тем же форматом * - без специальной ширины поля */ std::basic_ostringstream s; s.copyfmt(strm); s.width(0); // Заполнение строкового потока s << f.numerator() << '/' << f.denominator(); // print string stream strm << s.str(); return strm; }