@Andrew_Rocket

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

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

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

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

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