Необходимо выполнить такой вот фокус.Программа вызывает функцию и передаёт ей типизированный указатель. Функция принимает этот указатель как void *. Т.е. ничего не знает о типе объекта, на который указывает фактичекий параметр.Задача функции заключается в определении типа объекта (имена классов и полей нас не интересуют, главное - структура объекта, т.е. состав и расположение полей), на который ссылается указатель. Функции известно всё о классах, на объекты которых может ссылаться полученный указатель.Использовать любые, даже самые извращенские способы: делать ассемблерные вставки, лезть в стек и кучу, использовать переменные окружения и т.п.
|