ostream& operator<< (ostream& os, const Foo &o)
, где Foo -- это ваш класс. Ну а если вам класс необходимо приводить к строковому представлению, то да, придётся вам реализовать метод руками, или же, что архитектурно более правильно, сделать отдельный класс и/или функцию для преобразования.