MR.genjuro
saya baru di dunia pemrograman so ada referensi bahasa indonesia gak buat
programing c++
----- Original Message -----
From: "genjuro" <[EMAIL PROTECTED]>
To: <linux-programming@linux.or.id>
Sent: Monday, September 24, 2007 9:32 PM
Subject: Re: [linux-programming] skrip pointer
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
--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis