Dalam warisan C++, warisan pembina memerlukan pernyataan pertama pembina kelas terbitan untuk memanggil pembina kelas asas, dan warisan pemusnah memerlukan pemusnah kelas terbitan terlebih dahulu melaksanakan kod kelas terbitan dan kemudian memanggil pemusnah kelas asas. Beri perhatian untuk mengelakkan memanggil pembina dan pemusnah secara kitaran, pastikan pembina dan pemusnah kelas induk dilaksanakan dengan betul, dan gunakan penuding kelas asas untuk memanggil pemusnah kelas induk.
Dalam C++, apabila kelas terbitan mewarisi kelas asas, tingkah laku pembina dan pemusnah kelas terbitan akan terjejas Artikel ini akan membincangkan secara terperinci pertimbangan apabila menggunakan pembina dan pemusnah dalam warisan, dan menggambarkannya melalui kes praktikal.
Apabila kelas terbitan mewarisi daripada kelas asas, pembina kelas terbitan memanggil pembina kelas asas untuk memulakan pembolehubah ahli kelas asas. Pada masa ini, anda perlu memberi perhatian kepada perkara berikut:
Pemusnah kelas terbitan akan melakukan perkara berikut:
Pertimbangkan kod berikut yang menunjukkan tingkah laku pembina dan pemusnah dalam pewarisan:
#include <iostream> using namespace std; class Base { public: Base() { cout << "Base constructor called." << endl; } ~Base() { cout << "Base destructor called." << endl; } }; class Derived : public Base { public: Derived() { cout << "Derived constructor called." << endl; } ~Derived() { cout << "Derived destructor called." << endl; } }; int main() { Derived d; return 0; }
Menjalankan kod ini akan mencetak output berikut:
Base constructor called. Derived constructor called. Derived destructor called. Base destructor called.
Atas ialah kandungan terperinci Penjelasan terperinci tentang warisan fungsi C++: Apakah yang perlu anda perhatikan apabila menggunakan pembina dan pemusnah dalam warisan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!