Destruktor merupakan suatu method class yang khusus. Suatu destruktor dipanggil ketika suatu objek didefinisikan atau secara dinamis dialokasikan menggunakan opertor ‘new’ .
Tujuan pembuatatn suatu destruktor adalah untuk menginasialisasi data anggota atau kadang-kadang untuk mengambil resource seperti memori. Destruktor diambil setiap kali objek dihapus atau program yang menggunakan suatu objek telah selesai di jalakan.
q Tujuan :
untuk membebaskan memori dari pdijalankanenggunaan objek-objek pada saat program
untuk membebaskan memori dari pdijalankanenggunaan objek-objek pada saat program
Definisi dan penggunaan dari destruktor : aturan-aturan dasar pada destruktor , kemudian detail menggunakan contoh sederhana,
- Destrruktor mamiliki nama yang sama dengan class yang diawali dengan tanda ~
- Destruktor tidak mangembalikan nilai
- Destruktor tidak memiliki argumen.
Dilihat dari contoh, kita dapat membuat suatu class yang akan menyimpan informasi seperti upah dan nomor ID. Pada program ini belum kita gunakan konsep destruktor.
# include<iostream.h>
# include<string.h>
class karyawan
{
private
int_id;
double_gaji;
public:
# include<iostream.h>
# include<string.h>
class karyawan
{
private
int_id;
double_gaji;
public:
int getID()
{
return_id;
void setID(int id)
{
_id=id;
}
double getGaji()
{
void setGaji(double gaji)
{_gaji=gaji;
}
};
Int main()
{
karyawan budi;
budi.setID(1);
budu.setGaji(500000.0);
cout<<“karyawan”budi.getID()”gaji sebesar”<<budi.getGaji()<<endl;
}
output :
Karyawan 1 gaji sebesar 500000
contoh diatas definisi method dilakukan didalam class karena definisi dari berbagai method yang digunakan cukup pendek.
Jika Anda tidak mendeklarasikan sebuah destruktor dalam sebuah kelas, maka destruktor otomatis akan diciptakan sendiri oleh compiler C++. Destruktor dapat kita definisikan sendiri dengan simbol ~. Disarankan untuk mendefinisikan sendiri destruktor walaupun secara otomatis compiler C++ akan mendeklarasikan sebuah destruktor pada saat program Anda dicompile, tetapi dengan mendefinisikan sendiri sebuah destruktor maka Anda mempunyai kontrol penuh terhadap apa yang dilakukan destruktor dari kelas Anda. Perhatikan listing di bawah :
Karyawan 1 gaji sebesar 500000
contoh diatas definisi method dilakukan didalam class karena definisi dari berbagai method yang digunakan cukup pendek.
Jika Anda tidak mendeklarasikan sebuah destruktor dalam sebuah kelas, maka destruktor otomatis akan diciptakan sendiri oleh compiler C++. Destruktor dapat kita definisikan sendiri dengan simbol ~. Disarankan untuk mendefinisikan sendiri destruktor walaupun secara otomatis compiler C++ akan mendeklarasikan sebuah destruktor pada saat program Anda dicompile, tetapi dengan mendefinisikan sendiri sebuah destruktor maka Anda mempunyai kontrol penuh terhadap apa yang dilakukan destruktor dari kelas Anda. Perhatikan listing di bawah :
Listing di atas akan menghasilkan output sebagai berikut :
Dari contoh di atas destruktor secara otomatis dipanggil oleh compiler ketika objek x meninggalkan blok main(). Hal ini sesuai dengan kaidah kelokalan objek di C++.
Tidak ada komentar:
Posting Komentar