Pengenalpastian Jenis dalam C
Apabila berurusan dengan kelas polimorfik, ia menjadi penting untuk menentukan jenis objek yang dihantar kepada fungsi. Terutamanya apabila mengatasi fungsi dan mengakses fungsi khusus untuk kelas yang diwarisi.
Untuk memastikan jenis objek, C menawarkan fungsi dynamic_cast yang berkuasa. Kata kunci ini melakukan semakan masa jalan untuk menghantar rujukan atau penuding daripada satu jenis ke jenis yang lain.
Sintaks untuk dynamic_cast adalah seperti berikut:
TYPE& dynamic_cast<TYPE&>(object); TYPE* dynamic_cast<TYPE*>(object);
Di mana TYPE mewakili jenis sasaran dan objek adalah objek yang hendak dipancarkan.
Jika hantaran berjaya, rujukan atau penuding kepada jenis sasaran dikembalikan. Walau bagaimanapun, jika objek tidak boleh dihantar ke jenis sasaran, perkara berikut berlaku:
Adalah penting untuk ambil perhatian bahawa dynamic_cast memerlukan kehadiran sekurang-kurangnya satu fungsi maya dalam kelas asas. Ini kerana RTTI (Run-Time Type Information) bergantung pada mekanisme ini untuk menentukan jenis objek.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Jenis Objek dalam Kod Polimorfik C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!