C ++での仮想関数の処理方法に関する記事はたくさんありますが、基本的な疑問を1つクリアすることはできませんでした。派生クラスのvptr変数は、基本クラス変数によってオーバーライドされますか。ptr変数の名前もマングルされていますか?
Class Base
{
public:
virtual void test();
};
class Derived
{
public:
virtual void test();
};
電話したら
Base b = new Derived();
b->test();
に変身します
(*b->vptr[<index>])(b);
インデックスがvtableエントリを指す場合。
私の疑問は、このvptrも名前が壊れているかどうかです。