Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Memanggil Penunjuk Fungsi Ahli C?

Bagaimana untuk Memanggil Penunjuk Fungsi Ahli C?

Mary-Kate Olsen
Lepaskan: 2024-12-14 02:47:10
asal
980 orang telah melayarinya

How to Call C   Member Function Pointers?

C Call Pointer To Member Function

Memanggil penunjuk kepada fungsi ahli dalam C memerlukan sintaks unik kerana sifatnya yang tidak statik. Untuk menggunakan fungsi sedemikian dengan berkesan, penunjuk ini yang mewakili objek yang akan dipanggil fungsi mesti dibekalkan bersama parameter yang dinamakan.

Untuk menentukan penunjuk fungsi ahli dalam kod anda:

typedef void (Box::*HitTest) (int x, int y, int w, int h);
Salin selepas log masuk

Ini mentakrifkan jenis penuding fungsi ahli untuk kaedah HitTest daripada kelas Kotak.

Untuk menambah fungsi ahli pada senarai:

std::list<HitTest> list;

for (std::list<Box*>::const_iterator i = boxList.begin(); i != boxList.end(); ++i)
{
    Box * box = *i;
    list.push_back(&amp;box->HitTest);
}
Salin selepas log masuk

Untuk memanggil penuding kepada fungsi ahli:

(box->*h)(xPos, yPos, width, height);
Salin selepas log masuk

Dalam contoh ini, kotak mewakili ini penunjuk, h ialah penunjuk kepada kaedah HitTest dan xPos, yPos, lebar dan ketinggian ialah parameter fungsi.

Atas ialah kandungan terperinci Bagaimana untuk Memanggil Penunjuk Fungsi Ahli C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan