Rumah > pembangunan bahagian belakang > C++ > Mengapa Pembina Maya Tidak Hadir dalam C?

Mengapa Pembina Maya Tidak Hadir dalam C?

Barbara Streisand
Lepaskan: 2024-11-19 09:22:02
asal
423 orang telah melayarinya

Why are Virtual Constructors Absent in C  ?

Mengelakkan Pembina Maya dalam C : Insights daripada Bjarne Stroustrup

Walaupun pengaturcaraan berorientasikan objek biasanya menggunakan fungsi maya untuk membolehkan polimorfisme, C kekurangan konsep pembina maya. Keanehan ini telah membingungkan ramai pembangun, yang membawa kepada persoalan: Mengapa ciri ini tiada dalam C ?

Untuk menyelidiki alasan di sebalik ketiadaan ini, marilah kita mencari kebijaksanaan pencipta C, Bjarne Stroustrup, yang menulis penjelasan berikut dalam Soalan Lazim Gaya dan Teknik C:

"Panggilan maya ialah mekanisme untuk mendapatkan fungsi apabila diberikan maklumat separa tentang objek. Secara khusus, panggilan maya membenarkan fungsi panggilan walaupun hanya mengetahui antara muka dan bukan jenis objek tertentu Namun, mencipta objek memerlukan maklumat lengkap, terutamanya mengetahui jenis objek yang tepat untuk dibuat. memanggil pembina tidak boleh dibuat secara maya."

Taakulan logik ini menerangkan mengapa C tidak mempunyai pembina maya. Walaupun had ini, Soalan Lazim Stroustrup juga menawarkan coretan kod yang menyediakan cara alternatif untuk mencapai kefungsian serupa tanpa menggunakan pembina maya.

Atas ialah kandungan terperinci Mengapa Pembina Maya Tidak Hadir dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan