Menentukan Jenis Objek dalam C
Dalam pengaturcaraan berorientasikan objek, selalunya perlu untuk menentukan jenis objek pada masa jalan. Ini boleh mencabar, terutamanya dalam kes pewarisan. Pertimbangkan senario di mana anda mempunyai kelas asas A dan kelas terbitan B yang mengatasi fungsi menerima objek jenis A. Untuk memastikan fungsi khusus untuk B dipanggil hanya dengan objek B, adalah penting untuk membezakan antara jenis.
Pendekatan yang disyorkan untuk ini ialah pemutus dinamik. Casting dinamik ialah mekanisme semakan jenis masa jalan yang membolehkan anda menghantar objek kepada jenis tertentu. Ia mempunyai dua varian:
Bagaimana dynamic_cast Berfungsi:
Pemutus dinamik menyemak sama ada objek jenis objek boleh dihantar dengan selamat ke jenis TYPE yang ditentukan. Jika pelakon itu sah, ia mengembalikan penuding bukan nol (untuk pemutus penuding) atau rujukan (untuk pemutus rujukan). Jika tidak, ia mengembalikan NULL atau membuang pengecualian bad_cast, masing-masing.
Pertimbangan Penting:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Jenis Objek pada Masa Jalan dalam C Menggunakan Casting Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!