Rumah >pembangunan bahagian belakang >C++ >Bolehkah Fungsi Ahli Statik Menjadi Maya dalam C?
Dalam C , tidak mungkin untuk mentakrifkan secara langsung fungsi ahli yang bersifat statik dan maya. Pengkompil akan mengeluarkan ralat apabila cuba mengisytiharkan "ahli maya statik()". Walau bagaimanapun, terdapat teknik untuk mencapai kefungsian yang setara.
Untuk meniru kelakuan fungsi ahli maya statik, pertimbangkan pendekatan berikut:
<code class="cpp">struct Object { struct TypeInformation; static const TypeInformation &GetTypeInformation() { return GetTypeInformationImpl(); } protected: virtual const TypeInformation &GetTypeInformationImpl() const = 0; };</code>
Di sini, fungsi GetTypeInformation() ditakrifkan sebagai statik dan mengembalikan rujukan tetap kepada jenis TypeInformation. Walau bagaimanapun, pelaksanaan sebenar fungsi ini diwakilkan kepada kelas terbitan melalui fungsi maya yang dilindungi GetTypeInformationImpl().
Atas ialah kandungan terperinci Bolehkah Fungsi Ahli Statik Menjadi Maya dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!