Memanggil Pembina Kelas Asas
Semasa bekerja dengan warisan dalam Java, anda boleh memanggil pembina kelas super menggunakan super(). Ini menimbulkan persoalan bagaimana untuk mencapai kefungsian yang sama dalam C .
Secara khusus, isu ini timbul apabila mewarisi daripada kelas asas C dengan pembina bukan lalai. Pengkompil sering memberi amaran tentang kekurangan pembina lalai yang sesuai.
Penyelesaian: Menggunakan Senarai Pemula Pembina
Tidak seperti Java, C tidak mempunyai super() eksplisit sintaks untuk memanggil pembina kelas asas. Sebaliknya, anda menentukan panggilan dalam senarai pemula pembina bagi kelas terbitan. Senarai pemula muncul sebelum badan pembina dan digunakan untuk memulakan pembolehubah ahli.
Sebagai contoh, pertimbangkan kelas asas berikut dengan pembina yang mengambil tatasusunan aksara sebagai hujah:
class BaseClass { public: BaseClass(char *name); ... };
Untuk memanggil pembina kelas asas dalam kelas terbitan, masukkan panggilan dalam senarai pemula:
class Foo : public BaseClass { public: Foo() : BaseClass("asdf") {} };
Ini memastikan bahawa pembina kelas asas digunakan sebelum sebarang permulaan ahli lain berlaku. Apabila pembina kelas asas mengambil hujah, ia mesti dinyatakan dalam senarai pemula sebelum mana-mana pembolehubah ahli dimulakan.
Atas ialah kandungan terperinci Bagaimana untuk Memanggil Pembina Kelas Asas dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!