Bahasa C
Dalam tutorial ini, kita akan belajar tentang fungsi overloading di C++ dengan contoh.
Dalam C++, dua fungsi dapat memiliki nama yang sama jika jumlah dan/atau jenis argumen yang diteruskan berbeda.
Fungsi-fungsi ini memiliki nama yang sama tetapi argumen yang berbeda dikenal sebagai fungsi kelebihan beban. Misalnya:
// same name different arguments
int test() { }
int test(int a) { }
float test(double a) { }
int test(int a, double b) { }
Di sini, keempat fungsi tersebut adalah fungsi yang kelebihan beban.
Perhatikan bahwa tipe pengembalian dari keempat fungsi ini tidak sama. Fungsi yang kelebihan beban mungkin atau mungkin tidak memiliki tipe pengembalian yang berbeda tetapi mereka harus memiliki argumen yang berbeda. Misalnya,
// Error code
int test(int a) { }
double test(int b){ }
Di sini, kedua fungsi memiliki nama yang sama, jenis yang sama, dan jumlah argumen yang sama. Oleh karena itu, kompiler akan membuat kesalahan.
// Program to compute absolute value
// Works for both int and float
#include <iostream>
using namespace std;
// function with float type parameter
float absolute(float var){
if (var < 0.0)
var = -var;
return var;
}
// function with int type parameter
int absolute(int var) {
if (var < 0)
var = -var;
return var;
}
int main() {
// call function with int type parameter
cout << "Absolute value of -5 = " << absolute(-5) << endl;
// call function with float type parameter
cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
return 0;
}
Keluaran
Absolute value of -5 = 5 Absolute value of 5.5 = 5.5
Dalam program ini, kita membebani absolute()
fungsi. Berdasarkan jenis parameter yang diteruskan selama pemanggilan fungsi, fungsi yang sesuai akan dipanggil.
#include <iostream>
using namespace std;
// function with 2 parameters
void display(int var1, double var2) {
cout << "Integer number: " << var1;
cout << " and double number: " << var2 << endl;
}
// function with double type single parameter
void display(double var) {
cout << "Double number: " << var << endl;
}
// function with int type single parameter
void display(int var) {
cout << "Integer number: " << var << endl;
}
int main() {
int a = 5;
double b = 5.5;
// call function with int type parameter
display(a);
// call function with double type parameter
display(b);
// call function with 2 parameters
display(a, b);
return 0;
}
Keluaran
Integer number: 5 Float number: 5.5 Integer number: 5 and double number: 5.5
Di sini, display()
fungsi dipanggil tiga kali dengan argumen yang berbeda. Bergantung pada jumlah dan jenis argumen yang diteruskan, display()
. yang sesuai fungsi dipanggil.
Jenis kembalian dari semua fungsi ini adalah sama tetapi tidak demikian halnya dengan fungsi yang kelebihan beban.
Catatan: Di C++, banyak fungsi perpustakaan standar kelebihan beban. Misalnya, sqrt()
fungsi dapat mengambil double
, float
, int,
dll sebagai parameter. Hal ini dimungkinkan karena sqrt()
fungsi kelebihan beban di C++.
Bahasa C
Fungsi Virtual C++ Dalam tutorial ini, kita akan belajar tentang fungsi virtual C++ dan penggunaannya dengan bantuan contoh. Fungsi virtual adalah fungsi anggota di kelas dasar yang ingin kita definisikan ulang di kelas turunan. Pada dasarnya, fungsi virtual digunakan di kelas dasar untuk memastik
Fungsi C Dalam tutorial ini, Anda akan diperkenalkan dengan fungsi (fungsi perpustakaan yang ditentukan pengguna dan standar) dalam pemrograman C. Selain itu, Anda akan mempelajari mengapa fungsi digunakan dalam pemrograman. Fungsi adalah blok kode yang melakukan tugas tertentu. Misalkan, Anda pe
C Fungsi yang ditentukan pengguna Dalam tutorial ini, Anda akan belajar membuat fungsi yang ditentukan pengguna dalam pemrograman C dengan bantuan sebuah contoh. Fungsi adalah blok kode yang melakukan tugas tertentu. C memungkinkan Anda untuk mendefinisikan fungsi sesuai dengan kebutuhan Anda. Fun
Apa itu Polimorfisme dalam C++? Dalam C++, polimorfisme menyebabkan fungsi anggota berperilaku berbeda berdasarkan objek yang memanggil/memanggilnya. Polimorfisme adalah kata Yunani yang berarti memiliki banyak bentuk. Itu terjadi ketika Anda memiliki hierarki kelas yang terkait melalui pewarisan.