継承における構築と破棄の順序
次のクラス階層を考えてみましょう。
struct A { A() { std::cout << "A() C-tor" << std::endl; } ~A() { std::cout << "~A() D-tor" << std::endl; } }; struct B : public A { B() { std::cout << "B() C-tor" << std::endl; } ~B() { std::cout << "~B() D-tor" << std::endl; } A a; };
インスタンスがB が作成されます (int main() { B b; } のように)、構築と破棄の順序は特定に従います。ルール:
構築順序:
これは次の呼び出しに変換されます順序:
破壊命令:
これにより、次のような破壊が起こりますorder:
したがって、構築順序は基本クラスから始まり、メンバーフィールドに進み、派生クラスで終わります。破壊の順序は建設の順序の逆です。
以上がC 継承における構築と破壊の順序は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。