Я получаю очень запутанную ошибку в моей программе. Я думаю, что у меня может быть два разных объекта одного и того же класса, где я думал, что у меня один и тот же объект. Это сбивает с толку, потому что я имею дело с очень большой структурой, где не просто получить указатель на нужный мне объект.
У меня вопрос: если у меня есть класс Derived, который наследуется от Base, и у меня есть указатель на объект Derived, как я могу получить адрес объекта Base из производного объекта? Я работаю с исходным кодом базового класса и распечатываю адрес "this" в Base. В другой части моего кода получить указатель на производное. Мне нужно иметь возможность печатать адрес базового объекта через мой производный объект, чтобы определить, есть ли у меня указатель на конкретный производный объект, который мне нужен.
У меня может быть большое недопонимание того, как адреса работают в C ++ при наследовании. Возможно, это всего лишь один объект, а не базовый объект, связанный с производным объектом?
Большое спасибо
Edit:
Причина, по которой я хочу сделать это исключительно для отладки. Проблема в том, что используемая кодовая база не содержит много интерфейсов или защищенных элементов, поэтому мне приходится редактировать исходный код для доступа к определенной части информации. Однако моя программа падает, когда я вызываю метод, добавленный в базовый класс, используя определенный указатель производного. Мне нужно иметь возможность напечатать адрес базового объекта в этом случае, чтобы я мог определить, является ли это правильный объект или я получаю эту ошибку, потому что у меня фактически есть указатель на неправильный объект. Я понимаю, что могу добавить код в производный класс, чтобы заставить его печатать свой адрес, но мне было просто интересно, можно ли получить адрес без редактирования исходного кода больше. Спасибо