Rumah >pembangunan bahagian belakang >C++ >Mengapakah `= 0` Digunakan untuk Mengisytiharkan Fungsi Maya Tulen dalam C ?

Mengapakah `= 0` Digunakan untuk Mengisytiharkan Fungsi Maya Tulen dalam C ?

DDD
DDDasal
2024-12-17 20:57:10648semak imbas

Why is `= 0` Used to Declare Pure Virtual Functions in C  ?

Mengapa fungsi maya tulen dimulakan dengan 0?

Fungsi maya tulen ialah bahagian penting dalam model pengaturcaraan berorientasikan objek C. Mereka membenarkan kelas untuk mentakrifkan kaedah yang mesti ditindih oleh kelas terbitan, secara berkesan memaksa kelas terbitan untuk menyediakan pelaksanaan bagi kaedah tersebut.

Apabila mengisytiharkan fungsi maya tulen, adalah amalan biasa untuk memulakannya dengan 0. Ini mempunyai menyebabkan ramai percaya bahawa inisialisasi ini diperlukan untuk menetapkan entri jadual maya untuk fungsi itu kepada NULL. Walau bagaimanapun, pemahaman ini tidak betul.

=0 pada penghujung perisytiharan fungsi maya tulen bukanlah permulaan. Sebaliknya, ia adalah penunjuk sintaks bahawa fungsi ini adalah maya tulen. Ia adalah akibat daripada pengehadan semasa proses reka bentuk bahasa, seperti yang dijelaskan oleh Bjarne Stroustrup dalam bukunya "The Design & Evolution of C".

Melaksanakan fungsi maya tulen tidak semestinya melibatkan menetapkan entri jadual maya kepada NULL. Malah, Stroustrup secara eksplisit menyatakan bahawa pendekatan ini bukanlah cara terbaik untuk melaksanakan fungsi maya tulen.

Jadi, mengapa 0 digunakan untuk fungsi maya tulen? Jawapannya terletak pada reka bentuk bahasa dan bukannya keperluan pelaksanaan teknikal.

Atas ialah kandungan terperinci Mengapakah `= 0` Digunakan untuk Mengisytiharkan Fungsi Maya Tulen 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