@Andrew_Rocket

Есть ли в С++ метод toString у классов?

В Java и С# у каждого класса есть метод toString, который вызывается автоматчиески когда происходит вывод текста и который можно переопределить по своему у каждого класса.
Есть ли подобное в С++, или нужно реализовывать отдельный метод?
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
vt4a2h
@vt4a2h Куратор тега C++
Senior software engineer (C++/Qt/boost)
Нет. Потому что в C++ действует правило "не плати за то чем не пользуешься" и нет рефлексии на уровне языка.

Если вы хотите выводить класс в поток, то реализуйте: ostream& operator<< (ostream& os, const Foo &o), где Foo -- это ваш класс. Ну а если вам класс необходимо приводить к строковому представлению, то да, придётся вам реализовать метод руками, или же, что архитектурно более правильно, сделать отдельный класс и/или функцию для преобразования.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
BacCM
@BacCM
C++ почти с рождения
Есть поделки с рукописной рефлексией. У Антона Полухина есть доклад, если не ошибаюсь, на эту тему.
Но вот реально ли оно надо?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы