Cara Mendirikan dan Menggunakan Pointer pada Object

Written by: Fajar   |   Updated on: Maret 10, 2019
arrow operator

Object memiliki persamaan seperti deklarasi variabel biasa. Saat kita membuat object disaat itu juga kita sedang memesan memori kepada komputer sebesar total memori pada class yang digunakan. Object juga dimungkinkan untuk menggunakan pointer saat mendirikanya.

Object dengan pointer memiliki dua macam yaitu reference dan dereference, dibawah ini adalah bentuk penulisan dan penjelasan dari object pointer reference dan dereference.

Pointer Reference Pada Object

Bentuk umum penulisan

nama_class &nama_object = alias_object;

Contoh penulisan

siswa &refBudi = budi;

Di atas adalah bentuk umum penulisan dan contoh penulisan dari penggunaan pointer reference pada object. pointer reference berfungsi untuk membuat alias atau identitas lain untuk object yang di tunjuk. Dengan arti lain adalah satu alamat memori direpresentasikan menjadi 2 object.

Untuk mengakses member dari object dengan pointer reference kita membutuhkan Member Access Operator . , dengan menaruh tanda . di antara nama object dan nama member. Tidak memiliki perbedaan seperti kita melakukanya pada object biasa.

Pointer Dereference

Bentuk umum penulisan

nama_class *nama_object = &object_lain;

Contoh penulisan

siswa *pBudi = &budi;

pointer dereference digunakan untuk mengubah fungsi dari object yang dapat memiliki kemampuan untuk menunjuk ke alamat object lain. Yang memberikan kemungkinan kepada kita untuk mengakses data dari object yang di tunjuk.

Pada contoh penulisan pBudi menunjuk ke pointer object budi memiliki arti bahwa object pointer dapat mengakses memori yang dimiliki oleh object budi.

Bukan hanya berfungsi untuk menunjuk ke memori yang dimiliki object lain, tapi kita juga dapat memesan atau alokasi memori pada memori heap sebesar total memori class yang digunakan dengan menggunakan keyword new.

Cara Mengakses Member Melalui Pointer

Jika menggunakan pointer, untuk mengakses member pada object kita membutuhkan tanda Arrow Operator -> di antara nama object dan nama member.

Baca :   Penjelasan Function Overriding

Bentuk umum penulisan

nama_object -> nama_member;

Contoh penulisan

pbudi -> noinduk = 123;

Contoh program

#include <iostream>
using namespace std;

class siswa{
    public:
    int noInduk;
    void showInduk(){
        cout<<"No Induk = "<<noInduk<<endl;
    }
};

int main (){
    siswa budi{1}; // Object Budi
    budi.showInduk(); //Member Access Operator

    siswa &refBudi = budi; //Pointer Reference refBudi
    refBudi.noInduk = 2; //Member Access Operator
    budi.showInduk();

    siswa *pBudi = &budi; //pointer Dereference pBudi
    pBudi->noInduk = 3;//Arrow Operator
    budi.showInduk();
    return 0;
}

Contoh program 2

#include <iostream>
using namespace std;

class siswa{
    public:
    int noInduk;
    void showInduk(){
        cout<<"No Induk = "<<noInduk<<endl;
    }
};

int main (){
    siswa *budi = new siswa{1};
    budi->noInduk = 2;
    budi->showInduk();
    delete budi;
    return 0;
}

Pada contoh program ke 1, dicontoh cara penggunaan dari object pointer yang menunjuk ke object lainnya dengan class yang sama, dan contoh program kedua dicontohkan dari penggunaan alokasi pointer pada object.


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *