Rumah >pembangunan bahagian belakang >C++ >Apakah Urutan Pembinaan dan Pemusnahan dalam Warisan C?
Tertib Pembinaan dan Pemusnahan dalam Warisan
Pertimbangkan hierarki kelas berikut:
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; };
Apabila contoh B dicipta (seperti dalam int main() { B b; }), susunan pembinaan dan pemusnahan mengikut tertentu peraturan:
Tertib Pembinaan:
Ini diterjemahkan kepada panggilan berikut pesanan:
Arahan Pemusnahan:
Ini mengakibatkan kemusnahan berikut pesanan:
Oleh itu, perintah pembinaan bermula dengan kelas asas, meneruskan ke medan ahli, dan berakhir dengan kelas terbitan. Perintah pemusnahan adalah kebalikan perintah pembinaan.
Atas ialah kandungan terperinci Apakah Urutan Pembinaan dan Pemusnahan dalam Warisan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!