Apakah itu Inheritance Constructor dalam C++

Apakah Itu Inheritance Constructor Dalam C



Dalam C++, harta pusaka adalah tanggapan utama dalam pengaturcaraan berorientasikan objek. Kelas terbitan boleh mewarisi sifat dan tingkah laku kelas asas terima kasih kepada yang berkuasa harta pusaka keupayaan dalam C++. Kelas terbitan serta-merta mewarisi semua ahli kelas asas apabila ia dibentuk. Ia adalah perlu bagi pembina kelas terbitan untuk memulakan ahli kelas asas juga. Dalam C++, harta pusaka ialah ciri berkuasa yang membolehkan pembangun menggunakan semula kod, meningkatkan kecekapan dan menyusun kod ke dalam hierarki logik.

Bersama dengan warisan, pembina juga penting dalam C++. A pembina ialah fungsi ahli unik yang membolehkan anda memulakan sifat objek. An Pembina warisan ialah pembina yang digunakan untuk memulakan kedua-dua kelas asas dan objek kelas terbitan yang diwarisi oleh kelas terbitan. The pembina warisan bertanggungjawab untuk memulakan kedua-dua ahli kelas asas yang diwarisi dan ahli kelas terbitan. Untuk mencapai matlamat ini, pembina memanggil pembina kelas asas, memastikan semua ahli kelas terbitan dimulakan dengan betul, termasuk yang diwarisi daripada kelas asas.

Dengan menggunakan pembina kelas asas dan memberikannya parameter yang diperlukan, the pembina warisan memulakan ahli kelas asas. Ini dicapai menggunakan 'kelas asas (args)' senarai permulaan dalam pembina. Arahan lanjut khusus kepada kelas terbitan disediakan dalam badan pembina.







Sintaks untuk mewarisi kelas dalam C++ ialah:



kelas DerivedClass : accessSpecifier BaseClass {
// ahli kelas
} ;

Kelas baharu sedang dibentuk dalam kes ini, “DerivedClass”, akan mewarisi daripada “BaseClass”. Tahap akses kepada ahli yang diwarisi ditentukan oleh ' accessSpecifier”. C++ menggunakan tiga jenis penentu akses, iaitu “awam”, “swasta”, dan “dilindungi” . Perkataan itu “awam” menunjukkan bahawa kelas terbitan mempunyai akses kepada ahli awam kelas asas. Kelas terbitan tidak mempunyai akses kepada ahli kelas asas, menurut 'swasta' penentu. Kelas terbitan mempunyai akses kepada ahli kelas asas yang dilindungi yang boleh diwarisi oleh kelas anak mereka, menurut 'dilindungi' penentu.



Contoh Warisan dalam C++

Contoh berikut menunjukkan pelaksanaan Warisan dalam C++:





#include
menggunakan ruang nama std ;

kelas Haiwan {
awam :
batal makan ( ) {
cout << 'Saya boleh makan!' << endl ;
}
batal tidur ( ) {
cout << 'Saya boleh tidur!' << endl ;
}
} ;
kelas Kucing : awam Haiwan {
awam :
batal meow ( ) {
cout << 'Saya boleh mengeong!' << endl ;
}
} ;
int utama ( ) {
Kucing kucing1 ;
kucing1. makan ( ) ;
kucing1. tidur ( ) ;
kucing1. meow ( ) ;

kembali 0 ;
}

Kod yang diberikan mentakrifkan dua kelas, “Haiwan” dan “Kucing” , di mana “Kucing” adalah berasal daripada “Haiwan” . Kedua-dua kelas mempunyai beberapa fungsi ahli, seperti 'makan tidur' , dan “meow” . Fungsi utama mencipta objek kelas “Kucing” dan memanggil diwarisi fungsi daripada kelas “Haiwan” serta fungsi khusus kelas “Kucing” , iaitu “meow” . Program ini mengeluarkan teks ke konsol, menunjukkan bahawa kucing boleh makan, tidur dan mengeong.

Pengeluaran



Apabila kelas diterbitkan, semua pembolehubah ahli kelas asas dan fungsi ahli dipindahkan ke kelas terbitan. The diwarisi kebolehcapaian ahli dalam kelas terbitan ditentukan oleh penentu akses. Kelas terbitan juga boleh menggantikan ciri baharu dengan ciri yang sudah wujud. Ia boleh menambah pelaksanaan baharu untuk kaedah kelas asas dan menambah fungsi dan pembolehubah ahli baharu.

Adalah penting untuk diingat bahawa pembina warisan mesti digunakan untuk secara eksplisit memanggil pembina kelas asas dengan parameter yang diperlukan jika kelas asas mempunyai pembina lalai atau jika ia tidak tersedia.

Kesimpulan

Ciri kukuh bagi harta pusaka dalam C++ membenarkan kelas menggunakan semula kod dengan mewarisi ciri dan tindakan daripada yang lain. Ciri berguna C++ pembina warisan membenarkan kelas terbitan untuk mewarisi sifat, kaedah dan ahli data kelas asas. Dengan penambahan senarai permulaan untuk pembina kelas asas, ia ditakrifkan menggunakan sintaks yang sama seperti pembina standard. Pengaturcara C++ boleh meminimumkan pertindihan kod dan meningkatkan struktur kod dengan menggunakan pembina warisan . Untuk membuat hierarki kelas yang kompleks dalam pengaturcaraan berorientasikan objek, ini merupakan alat yang penting.