Optionale Argumente



  • Wie werden eigentlich optionale Argumente in C++ Funktionen/Methoden übergeben?
    Ich kenne das bisher von VB in dieser Form:

    Function Xyz (arg as long, [Optional arg2 as boolean])
    


  • Du kannst den Parametern einen Default-Wert vorgeben - der wird dann festgesetzt, wenn der Anwender das entsprechende Argument auslässt. Das sieht in C++ dann so aus:

    int Xyz(long arg, bool arg2=false);
    

    (allerdings kannst du nicht unterscheiden, ob die Funktion als Xyz(4711,false); oder als Xyz(4711); (der zweite Parameter wird auf den Default-Wert 'false' gesetzt) aufgerufen wurde)



  • Wenn man wissen muss, ob der zweite Parameter angegeben wurde (wenn also ein Defaultparameter nicht ausreicht), kann man die Funktion überladen:

    int Xyz(long arg, bool arg2)
    {
        // bla
    }
    
    int Xyz(long arg)
    {
        // blubb
    }
    

Anmelden zum Antworten