Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa C Tidak Mempunyai Pembina Maya?

Mengapa C Tidak Mempunyai Pembina Maya?

DDD
DDDasal
2024-11-22 09:58:10720semak imbas

Why Doesn't C   Have Virtual Constructors?

Mengapa Pembina Maya Bukan Sebahagian daripada Kit Alat C

Tidak seperti kebanyakan bahasa pengaturcaraan, C tidak menggabungkan pembina maya dalam rangka kerjanya . Mendedahkan rasional di sebalik keputusan reka bentuk ini memerlukan menyelidiki ciri-ciri yang wujud bagi panggilan maya dan pembina.

Panggilan maya mendayakan seruan fungsi berdasarkan antara muka yang diketahui dan bukannya jenis objek tertentu. Keupayaan ini terbukti tidak ternilai untuk mengatur tingkah laku polimorfik. Walau bagaimanapun, apabila mencipta objek, pengetahuan yang tepat tentang jenisnya yang tepat adalah yang paling penting.

Bjarne Stroustrup, arkitek C , dengan ringkas menyatakan konsep ini: "Panggilan maya ialah mekanisme untuk menyelesaikan kerja dengan maklumat separa . .. Untuk mencipta objek, anda memerlukan maklumat lengkap ... Akibatnya, 'panggilan kepada pembina' tidak boleh menjadi maya."

Semasa pembina maya mungkin kelihatan wajar, ketiadaannya tidak menghalang pencapaian hasil yang serupa. Entri Soalan Lazim yang dinyatakan di atas mencadangkan pendekatan praktikal untuk meniru gelagat pembina maya tanpa menggunakan pelaksanaan eksplisitnya.

Atas ialah kandungan terperinci Mengapa C Tidak Mempunyai Pembina Maya?. 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