Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Memanggil Pembina Kelas Asas dengan Argumen dalam C?

Bagaimanakah Saya Memanggil Pembina Kelas Asas dengan Argumen dalam C?

DDD
DDDasal
2024-11-22 13:39:24811semak imbas

How Do I Call a Base Class Constructor with Arguments in C  ?

Memanggil Pembina Kelas Asas dalam C

Tidak seperti kata kunci super() Java yang digunakan untuk memanggil pembina kelas asas, C menyediakan mekanisme yang berbeza . Mari kita terokai cara memanggil pembina kelas asas dengan argumen dalam C .

Masalah:

Pertimbangkan kelas C dengan pembina lalai yang mengambil argumen, seperti:

class BaseClass {
public:
    BaseClass(char *name);
    .... 
};

Apabila mewarisi daripada kelas ini, seseorang mungkin menghadapi amaran tentang kekurangan lalai yang sesuai pembina.

Penyelesaian:

C membenarkan pembina kelas asas dipanggil dalam senarai pemula bagi pembina subkelas. Berikut ialah contoh:

class Foo : public BaseClass {
public:
    Foo() : BaseClass("asdf") {}
};

Dalam contoh ini, apabila pembina Foo dipanggil, ia memulakan kelas asas BaseClass menggunakan pembina yang mengambil hujah penunjuk aksara, menghantar rentetan "asdf" sebagai hujah.

Nota Tambahan:

Kelas asas pembina yang memerlukan hujah mesti dipanggil dalam senarai pemula sebelum mana-mana ahli subc lass dimulakan.

Atas ialah kandungan terperinci Bagaimanakah Saya Memanggil Pembina Kelas Asas dengan Argumen dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn