Нет.Легкого пути нет.Если отбросить «легкий путь», то с C ++ вы можете делать все, что только можно вообразить.
Если вы хотите просто вывести содержимое данных во время выполнения, то самый простой способ - реализовать оператор << (ostream &, YourClass const &)для каждого интересующего Вас класса. Немного сложнее реализовать шаблон посетителя, но с шаблоном посетителя вы можете получать разные отчеты от разных посетителей, а также посетители могут делать другие вещи, а не только создавать отчеты. </p>
Если вам нужен статический анализ (программа не запущена, вы хотите создавать отчеты), вы можете использовать базу данных отладчика.В качестве альтернативы вы можете проанализировать AST, сгенерированный некоторыми компиляторами (g ++ и CLang имеют опции для его генерации) и сгенерировать отчеты из него.
Если вам действительно нужно отражение во время выполнения, вам нужно встроить его в свои классы.Это включает в себя накладные расходы.Например, вы можете использовать общие базовые классы и поместить все элементы данных классов в массив.Это часто делается для связи с приложениями, написанными на языках, которые имеют отражение на более равных основаниях (самый старый пример - Лисп).