C++ Class Pointer Array

6 min read Jul 01, 2024
C++ Class Pointer Array

Mengenal Pointer Array pada Class C++

Dalam pemrograman C++, pointer array merupakan konsep penting yang memungkinkan kita untuk mengelola dan mengakses objek class secara efisien. Artikel ini akan membahas dasar-dasar pointer array pada class C++, meliputi deklarasi, inisialisasi, dan penggunaan dalam program.

Deklarasi Pointer Array Class

Untuk mendeklarasikan pointer array class, kita perlu menentukan tipe data pointer (tipe class), nama array, dan jumlah elemen yang akan disimpan dalam array tersebut. Berikut contohnya:

#include 
using namespace std;

class Mahasiswa {
public:
  string nama;
  int nim;
};

int main() {
  // Deklarasi pointer array class Mahasiswa dengan 3 elemen
  Mahasiswa* mahasiswa[3]; 

  return 0;
}

Pada contoh di atas, kita mendeklarasikan pointer array bernama mahasiswa yang dapat menampung 3 alamat pointer ke objek Mahasiswa.

Inisialisasi Pointer Array Class

Setelah mendeklarasikan pointer array class, kita perlu menginisialisasi setiap elemen dengan alamat pointer ke objek Mahasiswa. Berikut contohnya:

#include 
using namespace std;

class Mahasiswa {
public:
  string nama;
  int nim;
};

int main() {
  // Deklarasi pointer array class Mahasiswa dengan 3 elemen
  Mahasiswa* mahasiswa[3]; 

  // Inisialisasi setiap elemen dengan alamat pointer ke objek baru
  mahasiswa[0] = new Mahasiswa();
  mahasiswa[1] = new Mahasiswa();
  mahasiswa[2] = new Mahasiswa();

  // Mengisi data objek Mahasiswa
  mahasiswa[0]->nama = "John Doe";
  mahasiswa[0]->nim = 12345;
  // ... (isi data objek lainnya)

  return 0;
}

Pada contoh ini, kita membuat objek baru menggunakan operator new dan menyimpan alamatnya pada masing-masing elemen mahasiswa dengan operator ->. Kita juga dapat menginisialisasi pointer array menggunakan array objek yang telah ada sebelumnya.

Penggunaan Pointer Array Class

Pointer array class dapat digunakan untuk mengakses dan memanipulasi data objek dengan mudah. Kita dapat menggunakan operator -> untuk mengakses anggota data dan metode objek melalui pointer array. Berikut contohnya:

#include 
using namespace std;

class Mahasiswa {
public:
  string nama;
  int nim;

  void cetakData() {
    cout << "Nama: " << nama << endl;
    cout << "NIM: " << nim << endl;
  }
};

int main() {
  // Deklarasi pointer array class Mahasiswa dengan 3 elemen
  Mahasiswa* mahasiswa[3]; 

  // Inisialisasi setiap elemen dengan alamat pointer ke objek baru
  mahasiswa[0] = new Mahasiswa();
  mahasiswa[1] = new Mahasiswa();
  mahasiswa[2] = new Mahasiswa();

  // Mengisi data objek Mahasiswa
  mahasiswa[0]->nama = "John Doe";
  mahasiswa[0]->nim = 12345;
  // ... (isi data objek lainnya)

  // Akses data dan panggil method pada objek menggunakan pointer array
  for (int i = 0; i < 3; i++) {
    cout << "Mahasiswa ke-" << i + 1 << ":" << endl;
    mahasiswa[i]->cetakData();
    cout << endl;
  }

  return 0;
}

Pada contoh ini, kita menggunakan loop untuk mengakses dan menampilkan data dari setiap objek Mahasiswa yang disimpan dalam pointer array. Kita juga memanggil metode cetakData() pada setiap objek melalui pointer array.

Penting: Menghapus Objek

Saat kita selesai menggunakan pointer array class, penting untuk menghapus objek yang telah dibuat menggunakan operator new untuk menghindari kebocoran memori. Berikut contohnya:

#include 
using namespace std;

class Mahasiswa {
public:
  string nama;
  int nim;
};

int main() {
  // Deklarasi pointer array class Mahasiswa dengan 3 elemen
  Mahasiswa* mahasiswa[3]; 

  // Inisialisasi setiap elemen dengan alamat pointer ke objek baru
  mahasiswa[0] = new Mahasiswa();
  mahasiswa[1] = new Mahasiswa();
  mahasiswa[2] = new Mahasiswa();

  // ... (isi data objek Mahasiswa)

  // Hapus objek yang di-alokasikan menggunakan operator new
  delete mahasiswa[0];
  delete mahasiswa[1];
  delete mahasiswa[2];

  return 0;
}

Pada contoh ini, kita menggunakan operator delete untuk menghapus objek yang di-alokasikan dengan new untuk setiap elemen mahasiswa.

Kesimpulan

Pointer array class memungkinkan kita untuk mengelola dan mengakses objek class secara efisien, dan dapat digunakan dalam berbagai macam skenario pemrograman. Dengan memahami konsep-konsep dasar seperti deklarasi, inisialisasi, dan penggunaan pointer array class, kita dapat menulis kode C++ yang lebih terstruktur dan efisien. Ingat untuk selalu menghapus objek yang di-alokasikan dengan new untuk menghindari kebocoran memori.

Latest Posts