hmm... sepertinya agak membingungkan mmg (soalnya gw eman
blm baca maklum "nyewa" kompie di warnet... :)) tapi apa
ada yang bisa menjelaskan dengan lebih sederhana...?
On Wed, 19 Sep 2007 03:09:17 +0100 (BST)
ANTON CHANG <[EMAIL PROTECTED]> wrote:
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
========================================================================================
"Sambil berpuasa, ikuti Netkuis Ramadhan 1428 H. Menangkan Laptop, Ipod dan HP Nokia
di akhir periode netkuis dan dapatkan Flash disk di tiap minggunya dengan mengikuti
Netkuis di http://netkuis.telkom.net/"
========================================================================================
--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis