Memanggil Penuding kepada Fungsi Ahli dalam C
Dalam C , penunjuk kepada fungsi ahli menyediakan cara yang mudah untuk menggunakan kaedah secara dinamik pada objek. Walau bagaimanapun, sintaks mereka boleh mencabar.
Sintaks untuk Memanggil Penunjuk kepada Fungsi Ahli
Untuk memanggil penuding kepada fungsi ahli, sintaks berikut digunakan:
(object->*pointer_variable)(params)
di mana:
Contoh Sintaks
Pertimbangkan kod berikut coretan:
typedef void (Box::*HitTest) (int x, int y, int w, int h); for (std::list<HitTest>::const_iterator i = hitTestList.begin(); i != hitTestList.end(); ++i) { HitTest h = *i; (box->*h)(xPos, yPos, width, height); }
Dalam contoh ini, senarai penunjuk kepada fungsi ahli HitTest diulang. Setiap penunjuk diambil daripada senarai dan digunakan dengan menyediakan penunjuk kotak seperti ini.
Menambah Fungsi Ahli pada Senarai Penunjuk
Untuk menambah fungsi ahli pada senarai daripada penunjuk, sintaks berikut boleh digunakan:
list.push_back(&box->HitTest);
Kod ini menolak penuding kepada ahli HitTest fungsi objek kotak ke dalam senarai.
Atas ialah kandungan terperinci Bagaimanakah Saya Memanggil Penunjuk kepada Fungsi Ahli dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!