Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C++ Functie Overbelasting

C++ Functie Overbelasting

In deze tutorial zullen we met voorbeelden leren over de functie overloading in C++.

In C++ kunnen twee functies dezelfde naam hebben als het aantal en/of type doorgegeven argumenten verschillend is.

Deze functies met dezelfde naam maar met verschillende argumenten staan ​​bekend als overbelaste functies. Bijvoorbeeld:

// same name different arguments
int test() { }
int test(int a) { }
float test(double a) { }
int test(int a, double b) { }

Hier zijn alle 4 functies overbelaste functies.

Merk op dat de retourtypen van al deze 4 functies niet hetzelfde zijn. Overbelaste functies kunnen al dan niet verschillende retourtypen hebben, maar ze moeten verschillende argumenten hebben. Bijvoorbeeld,

// Error code
int test(int a) { }
double test(int b){ }

Hier hebben beide functies dezelfde naam, hetzelfde type en hetzelfde aantal argumenten. Daarom zal de compiler een foutmelding geven.


Voorbeeld 1:Overbelasting met verschillende soorten parameters

// 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;
}

Uitvoer

Absolute value of -5 = 5
Absolute value of 5.5 = 5.5

In dit programma overbelasten we de absolute() functie. Op basis van het type parameter dat tijdens de functieaanroep is doorgegeven, wordt de bijbehorende functie aangeroepen.


Voorbeeld 2:Overbelasting met een ander aantal parameters

#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;
}

Uitvoer

Integer number: 5
Float number: 5.5
Integer number: 5 and double number: 5.5

Hier, de display() functie wordt drie keer aangeroepen met verschillende argumenten. Afhankelijk van het aantal en het type argumenten dat wordt doorgegeven, wordt de corresponderende display() functie wordt aangeroepen.

Het retourtype van al deze functies is hetzelfde, maar dat hoeft niet het geval te zijn voor functieoverbelasting.


Opmerking: In C++ zijn veel standaard bibliotheekfuncties overbelast. Bijvoorbeeld de sqrt() functie kan double take duren , float , int, enz. als parameters. Dit is mogelijk omdat de sqrt() functie is overbelast in C++.


C Taal

  1. Overbelasting van C#-methode
  2. C# Constructor Overbelasting
  3. C++-operators
  4. C++ Opmerkingen
  5. Array doorgeven aan een functie in C++-programmering
  6. C++ vriend Functie en vriend Klassen
  7. Geef arrays door aan een functie in C
  8. Overbelasting van C++-operator met voorbeelden
  9. C++-functies met programmavoorbeelden
  10. C - Functies
  11. C++ overbelasting (operator en functie)