残念ながら私を困惑させる基本的な C++ の質問があります。最近、ダウンキャストを使用してクラスのプライベート メンバーにアクセスする記事に出くわしました。私の質問は、なぜそれが機能するのですか?
ダミー * 型のプライベート メンバー m_p を持つ親クラス 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
どんな助けでも大歓迎です。