Вы можете сделать это, рассчитав смещение, используя образец объекта.(см. ответ @ bert-jan или @ sodved).
Однако это опасно! Вы не можете рассматривать классы и структуры c ++ как обычные структуры, которые вы себе представляете.
Проблема в том, что для любого заданного вами указателя на объект смещение может быть другим!
Почему?из-за подклассов и множественного наследования дополнительные данные могут быть помещены в класс перед обычными членами структуры.Количество данных может отличаться в зависимости от каждого подкласса вашего класса.
См. Этот вопрос: Почему вы не можете использовать offsetof на структурах, отличных от POD в C ++? для получения дополнительной информацииподробности.