Wednesday, 21 September 2011

Constructor pada Class

Constructor adalah fungsi khusus untuk melakukan inisialiasi nilai pada objek kelas. Fungsi ini dipanggil saat sebuah objek dari suat kelas dibuat. Tujuan fungsi ini adalah untuk menghindari nilai yang tidak diinginkan. Contoh :


#include <iostream>

class Kotak{
    int p, l; //p = panjang , l = lebar
public:
    void set(int _p, int _l){ p = _p; l = _l;}
    int luas(){ return p*l; }
};

int main(){
 Kotak k;
 int a = k.luas();

 std::cout << a;
 return 0;
}

Jika kita langsung memanggil fungsi luas sebelum melakukan pemasukkan (set) nilai panjang dan lebar, maka nilai yang dihasilkan akan bermacam-macam atau malah menghasilkan sesuatu yang tidak diinginkan (error). Untuk mencegah hal ini maka kita perlu memanggil fungsi Constructor. Berikut contoh kodenya :


#include <iostream>

class Kotak{
    int p, l; //p = panjang , l = lebar
public:
    Kotak(): p(10) , l(10) {} //Constructor
 
    void set(int _p, int _l){ p = _p; l = _l;}
    int luas(){ return p*l; }
};

int main(){
 Kotak k;
 int a = k.luas();
 std::cout << "Nilai dari Constructor : " << a;

 k.set(15,15);
 a = k.luas();
 std::cout << "\nNilai dari set : " << a;
 return 0;
}

Constructor dapat juga memiliki parameter, seperti contoh berikut :


#include <iostream>

class Kotak{
    int p, l; //p = panjang , l = lebar
public:
    Kotak(): p(10) , l(10) {} //Constructor
    Kotak(int a){ p = a; l = a*a; } //dengan 1 parameter

    Kotak(int b, int c){ p = b + c; l = b + c + 1; } //dengan 2 parameter
    void set(int _p, int _l){ p = _p; l = _l;}
    int luas(){ return p*l; }
};

int main(){

 Kotak k(5); //secara otomatis memanggil constructor berparameter 1
 std::cout << "Nilai dari 1 parameter : " << k.luas();

 return 0;
}

So, Happy Coding....

- krofz
 

back to top

back to top