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.