Hai
sobat coders.. ketemu lagi dengan saya
di blog yang sederhana ini. Dalam kesempatan kali ini saya akan memposting
contoh penggunaan konstruktor dan destruktor dalam bahasa C.
Apa
sih konstruktor dan destruktor?
Konstruktor
apa? Konstruktor adalah sesuatu yang dijalankan secara otomatis ketika program
pertama kali dibuat. Biasanya konstruktor dibuat untuk mengeset nilai awal.
Tapi tidak selamanya konstruktor hanya untuk mengeset nilai awal saja.
Konstruktor harus memiliki nama yang sama dengan nama classnya. Tidak bertipe
(void ataupun non-void). Karna tidak bertipe, maka konstrukor tidak boleh
mempunyai return value.
Contoh
deklarasi konstruktor:
class
Complex{
private:
int r,i;
public:
Complex(){
r=0;
i=0;
}
}
Konstriktor
diatas dibuat untuk mengeset nilai awal r dan i adalah 0.
Destruktor
adalah sesuatu yang dijalankan ketika program selesai atau menemui tutup kurung
kurawal (}). Destruktor ini hampir sama dengan konstruktor. Bedanya dia
dijalankan saat program selesai. Biasanya digunakan untuk menghancurkan
variabel.
Contoh
deklarasi destruktor:
class
Complex{
private:
int r,i;
public:
~Complex(){
r=0;
i=0;
}
}
Bisa
dilihat perbedaanya. Destruktor terdapat tanda ~ sebelum nama destrukornya.
Tanda ini yang membedakannya dengan konstruktor.
Berbeda
dengan konstruktor yang terstruktur saat menjalankan program. Destruktor
mempunyai urutan khusus saat program dijalankan. Yaitu variabel
lokal-static-global.
Variabel
local adalah variable yang berada dilingkup main atau diantara kurung kurawal
{}. Ini biasanya disebut variabel biasa. Variabel ini hanya dapat dikenali oleh fungsi
itu sendiri.
Contoh:
int
main(){
int x;
}
X
adalah variabel lokal.
Atau
jika dalam fungsi berikut, hasil adalah variabel local. Jika dalam fungsi
tambah ada variabel hasil, maka variabel hasil ini tidak dikenali oleh main.
int
tambah(int a,int b){
int hasil;
hasil=a+b;
return hasil;
}
Variable
static adalah variabel yang terdapat kata static sebelum pendeklarasian.
Contoh:
int
tambah(int a,int b){
static int hasil;
hasil=a+b;
return hasil;
}
Variable
global adalah variabel yang dideklarasi diluar skup main atau kurung kurawal. Variabel
ini dapat dikenal disemua fungsi. Contoh:
int hasil;
int
tambah(int a,int b){
hasil=a+b;
return hasil;
}
nah
udah tau perbedaan variabel lokal,statik sama global kan. Jika belum monggo
dipahami terlebih dahulu sebelum ketahap berikutnya.
Jika
sudah paham variabel lokal,statik sama lokal berikut adalah contoh penerapan
konstruktor dan destruktor.
Dalam
program ini konstruktor dibuat untuk menampilkan tulisan “dibuat” sedangkan
destruktor untuk menampilkan tulisan “dihancurkan”. Yuk kita simak kodingannya.
#include
<conio.h>
#include
<iostream>
using
namespace std;
class
createAndDestroy{
private:
int obj;
public:
createAndDestroy(int n){
obj=n;
cout<<obj<<" dibuat"<<endl;
}
~createAndDestroy(){
cout<<obj<<" dihancurkan"<<endl;
}
};
void
create(){
createAndDestroy fifth(5);
static createAndDestroy sixth(6);
createAndDestroy seventh(7);
}
createAndDestroy
first(1);
int
main(){
createAndDestroy
second(2);
static
createAndDestroy third(3);
create();
createAndDestroy
fourth(4);
return
0;
}
Nah outputnya gimana nih. Jangan
khawatir. Ini dia outputnya:
Sekian dari saya. Monggo komen aja
apabila ada yang ingin ditanyakan. Terimakasih sudah berkunjung. Semoga
bermanfaat :)
Komentar
Posting Komentar