Dalam C , susunan permulaan dan pemusnahan ahli kelas memainkan peranan penting dalam pengurusan seumur hidup objek. Tingkah laku ini biasanya dirujuk sebagai "perintah panggilan pembina dan pemusnah."
Perintah Permulaan Ahli
Piawaian C menentukan bahawa pembolehubah ahli dimulakan dalam susunan ia diisytiharkan dalam definisi kelas. Tertib ini memastikan kelas asas dimulakan sebelum kelas terbitan dan ahli data bukan statik dimulakan mengikut susunan yang dipaparkan.
Perintah Pemusnahan Ahli
Tertib terbalik terpakai kepada pemusnahan ahli. Pemusnah dipanggil dalam susunan terbalik permulaan, dengan pemusnah kelas terbitan dipanggil sebelum pemusnah kelas asas dan pemusnah ahli data bukan statik dipanggil dalam susunan terbalik perisytiharan mereka.
Contoh
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::~
Seperti yang dijangka, ahli Agregat dimulakan dalam susunan A , B, kemudian C, dan pemusnahnya dipanggil dalam susunan terbalik.
Oleh itu, ya, C menjamin bahawa ahli dimulakan dalam susunan pengisytiharan dan dimusnahkan dalam susunan terbalik untuk kedua-dua ahli kelas dan jenis agregat.
Atas ialah kandungan terperinci Dalam C , Bagaimanakah Ahli Kelas Dimulakan dan Dimusnahkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!