Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Fungsi C++ Kelebihan Beban

Kelebihan Fungsi 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.


Contoh 1:Kelebihan Beban Menggunakan Berbagai Jenis Parameter

// 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.


Contoh 2:Kelebihan Beban Menggunakan Jumlah Parameter yang Berbeda

#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

  1. Metode C# Overloading
  2. C# Konstruktor Overloading
  3. Operator C++
  4. Komentar C++
  5. Melewati Array ke Fungsi dalam Pemrograman C++
  6. Fungsi teman C++ dan Kelas teman
  7. Lewati array ke fungsi di C
  8. Operator C++ Overloading dengan Contoh
  9. Fungsi C++ dengan Contoh Program
  10. C - Fungsi