派生クラスのコンストラクターの呼び出しで基底クラスのコンストラクターがいつ呼び出されるかを知る必要があります。
Small example:
class Base1
{...}
class Base2
{...}
class Derived : Base1,Base2
{...}
int main (int argc, char** argv)
{
Derived Child;
}
コマンドDerived Child;
でコンストラクターDerived
が呼び出されますが、Derived
クラスコンストラクターが実行される前に、すべての基本コンストラクター、つまり Base1 と Base2 のコンストラクターが実行されることを読みました。
Derived
クラスのコンストラクタがこのように見える場合、イベントの順序はどうなるのだろうと思っています
Derived::Derived (Parameters)
: //initialization list
Base2 (Parameters)
{...}
Base2
コンストラクターの初期化リストで現在呼び出されているクラスのコンストラクターですか、それともDerived
以前に呼び出されていますか。Derived
さらに、コンストラクターの呼び出しの開始時、またはクラス コンストラクターの初期化リストの開始時に呼び出されるすべての基底クラス コンストラクターDerived
です。
あいさつ