Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Pemrograman Berorientasi Obyek2 Pointer Variable yang digunakan untuk menampung alamat memory. Cara deklarasi: menggunakan tanda “*” Address-Of Operator: “&” –Digunakan untuk mendapatkan alamat memory dari sebuah variable atau obyek.
Pemrograman Berorientasi Obyek3 Pointer Example void main(){ int number=99; int* ptr; ptr=&number; cout<<number; //99 cout<<&ptr; // 0xAAAA cout<<ptr; //0xAAAA cout<<&number; // 0xBBBB cout<<*ptr; //99 }; 99 number 0xAAAA ptr 0xBBBB ??? ???? 0xCCCC ??? ???? 0xDDDD
Pemrograman Berorientasi Obyek4 Pointer to char Dapat diinisilaisasi dengan constant string dengan menggunakan tanda “” –char* proverb = "A miss is as good as a mile.";
Pemrograman Berorientasi Obyek5 Reference Mirip dengan pointer, namun banyak perbedaan. Adalah alias (nama lain) dari sebuah variabel atau obyek. Tidak serti pointer, sebuah reference harus langsung menunjuk ke variabel lain saat deklarasi, dan tidak dapat diubah untuk menunjuk ke varibel lain.
Pemrograman Berorientasi Obyek6 Reference Example void main(){ int number = 88; int& ref = number; cout<<number; //88 cout<<&ref; //0x???? cout<<ref; //88 ref++; cout<<number; 89; }; Untuk merubah isi dari variable yang ditunjuknya tidak perlu memakai *
Pemrograman Berorientasi Obyek7 Function Passing Parameter by Value, by Reference, by Pointer By Value –Function akan melakukan copy terhadap parameter yang dikirim. By Reference –Function akan membuat alias terhadap parameter yang dikirim. By Pointer –Function akan mengambil alamat memory dari parameter yang dikirim.
Pemrograman Berorientasi Obyek8 Passing Parameter Example void MyFunc(int bVal, int& bRef, int* bPtr){ bVal = bVal + 2; bRef = bRef + 2; *bPtr = *bPtr + 2; }; void main(){ int a=5; int b=5; int c=5; MyFunc(a,b,&c); cout<<a; //5 cout<<b; //7 cout<<c; //7 };