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

No comments:

Post a Comment

Maaf jika komentar anda lama terbitnya ^__^, penulis berusaha OL sesering mungkin. Komentar anda adalah semangat blog ini, dan juga semangat para blogger lainnya. You can use XHTML tags: <a href="" rel="link"> </a>, <strong> </strong>, <b> </b>, <em> </em>, <i> </i>.

Spesial character use :
&lt; for <
&gt; for >


Use Pastebin.com for alternative to display your code :) .

 

back to top

back to top