У меня есть основной вопрос на C++, который, к сожалению, меня озадачивает. Недавно я наткнулся на статью, которая использует down-casting для доступа к частному члену класса, используя down-casting. Мой вопрос, почему он работает?Доступ к частному члену родительского класса C++
Учитывая, что у меня есть родительский класс Р с частным члена m_p типа манекена *, то метод использовался для создания класса хак hackP следующим образом:
class hackP: public P {
public:
dummy *m_p;
};
, по-видимому получает доступ к class P
частному члену m_p
используя фрагмент кода, как
P parent = ...;
hackP *hp = (hackP*)&parent;
// access parent m_p as hp->m_p
Любая помощь будет оценена.
Umm, m_p является общественным? Что такое взлом? –
@MichaelDorgan: Это публично в 'hackP', но предположительно занимает такое же смещение, как и что-то личное в' P'. Это взломать. –
Понял. Благодарю. –