C ++ Что не так с использованием метода toString ()

Я только что натолкнулсяэтот вопрос о том, как можно распечатать объект через

std::cout << x << std::endl;

Как я понял, стандартный способ сделать это - перегрузить оператор ostreams <<. Однако это добавляет функцию в ostream, а не в мой класс.

Альтернатива (также приведенная в качестве ответа на вышеупомянутый вопрос) заключается в переопределении оператора преобразования строк. Однако это сопровождается предупреждением о «непреднамеренных конверсиях и трудно отслеживаемых ошибках».

Теперь мне интересно, есть ли какие-либо недостатки написания метода toString () и последующего его использования через

std::cout << x.toString() << std::endl;

Ответы на вопрос(5)

Ваш ответ на вопрос