Fungsi di C++ (Overloading & Default Parameter)
Penjelasan
Fungsi di C++ mewarisi konsep dasar dari C (return type wajib, void kalau tidak mengembalikan apa pun), tapi menambahkan dua fitur baru: function overloading (beberapa fungsi dengan NAMA SAMA tapi jumlah/tipe parameter beda — compiler otomatis memilih versi yang cocok) dan default parameter (parameter yang punya nilai bawaan kalau tidak diisi saat pemanggilan).
Contoh Konsep
#include <iostream>
// Function overloading
int jumlahkan(int a, int b) {
return a + b;
}
double jumlahkan(double a, double b) {
return a + b;
}
// Default parameter
std::string sapa(std::string nama, std::string salam = "Halo") {
return salam + ", " + nama + "!";
}
int main() {
std::cout << jumlahkan(2, 3) << std::endl; // 5, versi int
std::cout << jumlahkan(2.5, 3.5) << std::endl; // 6, versi double
std::cout << sapa("CompileDaily") << std::endl; // Halo, CompileDaily!
return 0;
}
Praktikum
Buat fungsi luas(int panjang, int lebar) untuk persegi panjang. Buat overload-nya luas(int sisi) untuk persegi (satu parameter saja). Panggil keduanya dari main() dan tampilkan hasilnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Function overloading dibedakan compiler lewat SIGNATURE (jumlah dan tipe parameter), BUKAN return type — dua fungsi dengan parameter identik tapi return type beda akan dianggap konflik, bukan overload yang valid.