Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah pembina ahli dan pemusnah dipanggil dalam warisan dan pengagregatan C?
Tertib Panggilan Pembina dan Pemusnah Ahli
Dalam C , susunan pembina ahli dan panggilan pemusnah ialah aspek asas pemulaan objek dan kemusnahan. Ia memastikan permulaan dan pembersihan ahli kelas yang betul, terutamanya dalam situasi yang melibatkan pewarisan dan pengagregatan.
Pertimbangkan program berikut:
#include <iostream> using namespace std; struct A { A() { cout << "A::A" << endl; } ~A() { cout << "A::~" << endl; } }; struct B { B() { cout << "B::B" << endl; } ~B() { cout << "B::~" << endl; } }; struct C { C() { cout << "C::C" << endl; } ~C() { cout << "C::~" << endl; } }; struct Aggregate { A a; B b; C c; }; int main() { Aggregate a; return 0; }
Apabila dilaksanakan, program ini menghasilkan output berikut:
A::A B::B C::C C::~ B::~ A::~
Output ini menunjukkan bahawa pembina ahli dipanggil mengikut susunan pengisytiharan, dan pemusnah ahli dipanggil dalam susunan terbalik pengisytiharan.
Piawaian C menjamin pesanan ini di bawah syarat berikut:
Dalam contoh ini, kelas Agregat mengandungi ahli a jenis A, b jenis B, dan c jenis C. Apabila pembina Agregat dipanggil, ahli dimulakan dalam susunan a, b, dan c. Sejajar dengan itu, apabila pemusnah Agregat dipanggil, ahli dimusnahkan dalam susunan terbalik, c, b, dan a.
Memahami susunan pembina ahli dan panggilan pemusnah adalah penting untuk pengurusan seumur hidup objek yang betul dalam C , terutamanya apabila bekerja dengan warisan dan struktur kelas yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah pembina ahli dan pemusnah dipanggil dalam warisan dan pengagregatan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!