Pbo05

267 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
267
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pbo05

  1. 1. Sub Pokok Bahasan• Pointer.• Reference.• Function Passing Parameter by Value, by Reference, by Pointer. Pemrograman Berorientasi Obyek 1
  2. 2. 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 Obyek 2
  3. 3. Pointer Examplevoid main(){ int number=99; number ptr ???? ???? int* ptr; 99 0xAAAA ??? ??? ptr=&number; 0xAAAA 0xBBBB 0xCCCC 0xDDDD cout<<number; //99 cout<<&ptr; // 0xAAAA cout<<ptr; //0xAAAA cout<<&number; // 0xBBBB cout<<*ptr; //99}; Pemrograman Berorientasi Obyek 3
  4. 4. Pointer to char• Dapat diinisilaisasi dengan constant string dengan menggunakan tanda “” – char* proverb = "A miss is as good as a mile."; Pemrograman Berorientasi Obyek 4
  5. 5. 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 Obyek 5
  6. 6. Reference Examplevoid main(){ int number = 88; Untuk merubah isi int& ref = number; dari variable yang ditunjuknya tidak cout<<number; //88 perlu memakai * cout<<&ref; //0x???? cout<<ref; //88 ref++; cout<<number; 89;}; Pemrograman Berorientasi Obyek 6
  7. 7. 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 Obyek 7
  8. 8. Passing Parameter Examplevoid 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}; Pemrograman Berorientasi Obyek 8

×