Langsung ke konten utama

Penggunaan Konstruktor dan Destruktor dalam bahasa C++ (C++ Programming)





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

Postingan populer dari blog ini

Tipe data dalam bahasa C (C Programming)

Hai.. ketemu lagi dengan saya di blog yang sederhana ini.. dalam kesempatan kali ini saya akan memposting tentang tipe data dalam bahasa C. yuk kita simak :) Tipe data adalah suatu pengenal (identifier) yang merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh k omputer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif. Bahasa C menyediakan 5 macam tipe data dasar, yaitu 1. Tipe data integer yaitu bilangan bulat dideklarasikan dengan int . 2. Floating point yaitu bilangan pecahan dideklarasikan dengan float . 3. Double precision yaitu bilangan pecahan ketepatan ganda dideklarasikan dengan double . 4. karakter dideklaras...

Kimia (Polimer)

A.    DEFINISI POLIMER DAN PEMBENTUKAN POLIMER 1.    Pengertian Polimer Polimer adalah suatu makromolekul yang terbentuk dari molekul-molekul sederhana yang kita sebut sabagai monomer. Monomer adalah bagian terkecil dari suatu polimer. 2.    Pembentukan Polimer Proses pembentukan polimer dari monomer-monomernya disebut polimerisasi. Reaksi polimerisasi adalah reaksi penggabungan beberapa monomer. a.    Reaksi Polimer Adisi Polimerisasi terjadi pada monomer yang memiliki ikatan rangkap. Adalah perkaitan langsung antarmonomer berdasarkan reaksi adisi. 1)    Pembentukan Polietilena (Polietena) Polietilena dibentuk oleh monomer-monomer etena. Etena diperoleh dari hasil perengkahan (cracking) minyak bumi atau gas bumi. Pembentukan polimer ini digambarkan sebagai berikut CH 2 =CH 2   +   CH 2 =CH 2    →    --CH 2 -- CH 2 -- CH 2 -- CH 2 -- →   ( --CH 2 --...

Apa itu using namespace std?

Assalamu’alaikum.. Hai teman-teman.. dalam posting kali ini saya akan sedikit menjelaskan tentang namespace std. using namespace std , perintah ini digunakan untuk mendeklarasikan/ memberitahukan kepada compiler bahwa kita akan menggunakan semua fungsi/class/file yang terdapat dalam namespace std. namespace sendiri memiliki kesamaan dengan paket pada bahasa Java yang berisi pengelompokan fungsi, class dan yang sejenis. Pada C++ library- library umumnya disimpan dalam namespace std, seperti perintah cin dan cout. Perbedaan penulisan apabila kita menggunakan namespace std atau tidak adalah : Tanpa using namespace std               std::cout << " Tanpa menggunakan namespace std " ;       std::cin >> pil; Menggunakan using namespace std      #include <iostream>      using namespace std;      ...

MEMBACA DAN MENGIDENTIFIKASIKAN MOS,CMOS DAN FET

1)       Komponen MOS, CMOS dan FET diidentifikasi tipenya, rating operasinya .     MOSFET ( Metal Oxide Semiconductor Field Effect Transistor ) MOSFET disebut juga Transistor Efek Medan Oksida Logam, hal ini karena pada Gate di isolasi dari saluran mayoritas pembawa muatan hal ini mengakibatkan arus Gate sangat kecil dan tidak dipengaruhi oleh Positif atau Negatifnya Gate tersebut. MOSFET sering juga disebut sebagai IGFET (Insulated Gate Field Effect Transistor) , mempunyai elektroda Source, Drain dan Gate . Bekerjanya MOSFET berbeda dengan JFET, pada MOSFET Gate/Gerbang di isolasi dari kanal sehingga dapat dioperasikan menggunakan tegangan positif (+), sedang pada JFET menggunakan tegangan negatif (-). Tegangan positif tersebut memeberi manfaat mempertinggi konduktifitas kanal. Makin positif tegangan gerbang, semakin besar konduktifitas dari Source ke Drain (Sumber ke Cerat). Keuntungan utama menggunakan FET adalah, imped...

Mengenal Tipe data dan Operator di VB .net (VB Programming)

Assalamu'alaikum.. pada tutorial kali ini saya ingin berbagi tentang tipe data danoperator yang digunakan dalam pemrograman Visual Basic. selamat menyimak.. :) Teori 2.1. Variabel Variabel   adalah pengalokasian tempat di memory komputer dengan type data tertentu dan datanya dapat diubah. Aturan pendefinisian variabel -           Harus dimulai dengan huruf -           Tidak boleh menggunakan spasi -           Tidak melebihi 255 karakter -           Untuk vb. Net tidak case sensitive (tidak membedakan huruf kecil dan besar -           Boleh menggunakan underscore Contoh penulisan variabel yang benar : -           Dim Dataku as integer -         ...