Rumah >pembangunan bahagian belakang >C++ >Bolehkah Fungsi Maya Tulen Mempunyai Pelaksanaan?
Pelaksanaan untuk Fungsi Maya Tulen
Walaupun pemahaman umum bahawa fungsi maya tulen kekurangan pelaksanaan, situasi tertentu membenarkan pelaksanaan dalam kelas asas . Pertimbangkan kod berikut:
class A { public: virtual void f() = 0; }; void A::f() { cout << "Test" << endl; }
Walaupun kod ini nampaknya melanggar prinsip fungsi maya tulen, ia sebenarnya sah. Walau bagaimanapun, ini menimbulkan dua persoalan penting:
1. Adakah Kod Sah?
Ya, kod tersebut adalah sintaks yang sah. Kelas asas A boleh mentakrifkan pelaksanaan untuk fungsi maya tulennya f(), walaupun kelas terbitan juga mesti menyediakan pelaksanaannya sendiri.
2. Tujuan Fungsi Maya Tulen dengan Pelaksanaan:
Terdapat beberapa sebab yang berpotensi untuk menentukan pelaksanaan bagi fungsi maya tulen:
Adalah penting untuk ambil perhatian bahawa walaupun ciri bahasa ini dibenarkan, ia tidak biasa digunakan. Walau bagaimanapun, ia boleh menjadi alat yang berguna dalam senario tertentu yang memerlukan pelaksanaan lalai atau dikongsi.
Atas ialah kandungan terperinci Bolehkah Fungsi Maya Tulen Mempunyai Pelaksanaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!