genjuro wrote: > ada yang bisa jelasin skrip berikut? saya bingung bagaimana untuk > membuat pointer menjadi / di pass ke fungsi... thnks atas bantuannya... > // pointer to functions > #include <iostream> > using namespace std; > > int addition (int a, int b) > { return (a+b); } > > int subtraction (int a, int b) > { return (a-b); } > > int operation (int x, int y, int (*functocall)(int,int)) > { > int g; > g = (*functocall)(x,y); > return (g); > } > > int main () > { > int m,n; > int (*minus)(int,int) = subtraction; // ini dia nih biang keroknya > > m = operation (7, 5, addition); > n = operation (20, m, minus); > cout <<n; > return 0; > } > kalau mau buat pointer menunjuk ke function return_value (*namaptr) (parameter) ket : - return valuenya => harus sama dengan deklarasi function - namaptr => terserah anda - parameter => harus sama dengan deklarasi function
misal : int CheckLogin( char * user, char * password) { .... } int (*ptr)(char*,char*)=CheckLogin; // set variabel ptr berisi alamat memory function CheckLogin, return value dan parameter nya harus sama deklarasi functionnya (*ptr)("Budi","Pass"); jadi : menurutku tidak ada masalah dengan code di atas karena output yang dihasilkan itu 8 int (*minus)(int,int) = subtraction; // pointer variabel minus akan berisi alamat memory dari fucntion subtraction m = operation (7, 5, addition); // ketika memanggil function operation parameter ketiga adalah nama function maka di fuction operation parameter ketiga variabel pointer functocall berisi alamat memory addition dan ketika (*functocall)(x,y); // functocall akan memanggil function addition karena functocall berisi alamat memory dari function addition dan untuk mengakses memory tersebut maka dipakai * didepan variabel pointer functocall n = operation (20, m, minus); // paramater ketiga adalah variabel pointer minus dan variabel minus tersebut berisi alamat memory dari fucntion subtraction maka ketika operation (20, m, minus); parameter ketiga akan mempassing isi dari variabel minus yaitu alamat memory dari function subtraction jadi di fuction operation parameter ketiga variabel pointer functocall akan berisi alamat memori dari function subtarction dan seterusnya. Maaf ya kalau penjelasannya agak membingungkan. Semoga Bermanfaat. Terima Kasih, Anton Send instant messages to your online friends http://uk.messenger.yahoo.com -- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis