Dua fungsi atau lebih yang memiliki nama yang sama dengan argument/parameter yang berbeda dikenal sebagai overloading function.
Dalam C++, overloading function dapat dibuat dengan membedakan function signature-nya.
- Jumlah argument
- Type Data argument
- Urutan type data argument
Kita dapat membuat lebih dari 1 function dengan nama yang sama namun function signature yang beda.
Program C++ berikut ini mempunyai overloading function “Volume”. Ada 3 fungsi volume dengan signature yang beda.
Fungsi volume pertama dan kedua memiliki 1 argumen namun berbeda tipe data.
Fungsi volume ketiga dan keempat memiliki 2 argumen namun berbeda urutan type datan argumen.
Fungsi volume kelima memiliki 4 argumen, berbeda jumlah argumen dengan fungsi volume lainnya.
Dengan demikian kita bisa memiliki 5 fungsi yang namanya sama, Volume, tapi signaturenya berbeda.
#include <iostream> using namespace std; // volume kubus int volume(int s) { return s*s*s; } // volume bola int volume(double r) { return 3.14*r*r*r; } // volume silinder double volume(double r, int h) { return 3.14*r*r*h; } // volume kerucut double volume(int h,double r) { return 3.14*r*r*h; } // volume balok long volume(long l, int b, int h) { return l*b*h; } int main() { cout << volume(3) << endl;// volume kubus cout << volume(10) << endl;// volume bola cout << volume(2.5, 4) << endl;// volume silinder cout << volume(8, 2.5) << endl;// volume kerucut cout << volume(5, 10, 15) << endl;// volume balok system("pause"); return 0; }
Output:
27 1000 78.5 157 750 Press any key to continue . . .
Ping balik: C++ Overloading Operator: What, When, Where, Which, Why & How | OOP CPP