Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Warisan Pembina dalam C 11 memperkemas takrifan kelas dan mengurangkan kod boilerplate?
Mewarisi Pembina dalam C 11
Dalam C 11, pewarisan pembina membenarkan kelas terbitan mewarisi pembina secara tersirat daripada kelas asasnya . Tidak seperti warisan tradisional, di mana hanya pembolehubah dan kaedah contoh diwarisi, warisan pembina membawa pembina kelas asas ke dalam skop kelas terbitan.
Implikasi untuk Kod Anda
Warisan Pembina menghapuskan keperluan untuk mentakrifkan pembina secara manual dalam kelas terbitan yang menduplikasi kefungsian pembina kelas asas. Sebaliknya, pembina yang diwarisi boleh dipanggil terus dalam senarai permulaan ahli kelas yang diperolehi. Ini menjimatkan pertindihan kod dan memudahkan definisi kelas.
Aplikasi
Warisan Pembina mempunyai beberapa aplikasi praktikal:
Contoh
Pertimbangkan kod berikut:
struct Base { Base(int x) {} Base(string s) {} }; struct Derived : Base { using Base::Base; // Inherit base class constructors };
Dalam contoh ini, Derived mewarisi kedua-dua pembina int dan rentetan daripada Base. Ini membolehkan objek Terbitan dimulakan menggunakan pembina yang sama seperti objek Base.
Butiran Pelaksanaan
Secara teknikal, pewarisan pembina dilaksanakan menggunakan pengisytiharan menggunakan dalam kelas terbitan . Pengisytiharan ini menentukan pembina yang akan diwarisi daripada kelas asas. Jika parameter dengan nilai lalai ditinggalkan, pembina lalai akan dijana.
Atas ialah kandungan terperinci Bagaimanakah Warisan Pembina dalam C 11 memperkemas takrifan kelas dan mengurangkan kod boilerplate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!