以下の内容はhttps://toburau.hatenablog.jp/entry/20071112/1194909026より取得しました。


多重継承したクラスのインスタンスのポインタ

多重継承したクラスのインスタンスを作成して、そのポインタを親クラスのポインタに代入すると継承順番によって値が異なる。

#include <stdio.h>

class BaseA
{
};

class BaseB
{
};

class Test : public BaseA, public BaseB
{
};

int main()
{
    Test* pTest = new Test();
    BaseA *pA = pTest;
    BaseB *pB = pTest;

    printf("%p,%p,%p\n", pTest, pA, pB);
}

実行結果は次のとおり。

00902F14,00902F14,00902F1C

こういう結果になるとは知らなかった。すべて同じ値になると思ってコードを書いていた。




以上の内容はhttps://toburau.hatenablog.jp/entry/20071112/1194909026より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14