C++ memperbolehkan beberapa fungsi dengan nama yang sama untuk dideklarasikan selama fungsi tersebut mempunyai perbedaan parameternya. Hal inilah yang kemudian disebut fungsi overloading / function overloading . Kompiler C++ akan tepat memilih fungsi yang dimaksud dengan mengecek angka, tipenya dan urutan dari parameter pemanggil fungsinya tersebut.  function overloading digunakan unt...

[Tutorial C++] Fungsi overloading / function overloading

C++ memperbolehkan beberapa fungsi dengan nama yang sama untuk dideklarasikan selama fungsi tersebut mempunyai perbedaan parameternya. Hal inilah yang kemudian disebut fungsi overloading / function overloading . Kompiler C++ akan tepat memilih fungsi yang dimaksud dengan mengecek angka, tipenya dan urutan dari parameter pemanggil fungsinya tersebut.  function overloading digunakan untuk membuat fungsi dengan nama yang sama dengan tugas yang sama tetapi type yang berbeda.

sebagai contoh :

#include <iostream>
using namespace std;

/* contoh fungsi overloading */
int persegi( int sisi) /* fungsi return value interger */
{
cout << "Luas persegi yang sisinya " << sisi  << " adalah " ;
return sisi*sisi;
}
double persegi (double sisi) /* fungsi return value double */
{
cout  << "Luas sisi persegi yang sisinya " << sisi << " adalah " ;
return sisi*sisi;
}

int main(){
cout << persegi (5) <<endl; // pemanggilan fungsi
cout <<persegi(5,5) << endl; 
return 0;
}

maka akan muncul keluaran:

Luas persegi yang sisinya 5 adalah 25

Luas persegi yang sisinya 5.5 adalah 30,25

Kompiler akan mengecek parameter dari pemanggilan fungsi (di contoh pada main) terlebih dahulu, kemudian mencocokan pada fungsi yang terdapat pada fungsi yang terdapat di sourcecode.

contoh lain:

#include <iostream>
using namespace std;

//fungsi prototype
int volumePersegi (int panjang=1, int  lebar=1 ,int tinggi=1);

int main(){
cout << "Volume persegi dengan panjang 10, lebar 1 dan tinggi 1 adalah  " <<volumePersegi (10) <<endl;
cout << "Volume persegi dengan panjang 10, lebar 5 dan tinggi 1 adalah  " <<volumePersegi (10,5) <<endl;
cout << "Volume persegi dengan panjang 10, lebar 5 dan tinggi 6 adalah  " <<volumePersegi (10,5,6) <<endl;
return 0;
}

int volumePersegi (int panjang, int  lebar, int tinggi){
return panjang*lebar*tinggi;
}

 

Jadi dengan fasilitas function overloading ini pembuatan fungsi akan lebih ringkas dan efisien.


About Author

(:)

no comment


Comment & Discussions

    Please LOGIN before if you want to give the comment.