Default-Argumente



  • Hallo!

    Was ist der Unterschie zwischen normalen Argumenten und Default-Argumenten einer Funktion?

    MfG CSS



  • Am einem beispiel ist das ganz leicht zu erkennen

    int fkt1(int a = 10){
    ...
    }
    int fkt2(int a){
    ...
    }
    //aufruf fkt2() ungültig fkt1() ist nicht ungültig
    

    alles klar?



  • d.h. bei funktionen die default-parameter brauchst du diese nicht unbedingt angeben
    zb: bei spjoes code
    musst du a nicht angeben es wird automatisch 10 verwendet

    ok?



  • d.h.
    Default-Argumente werden schon bei ihrer Deklaration initialisiert und können später noch geändert werden.

    Normale Argumente werden erst beim Aufruf initialisiert.

    Ist das richtig??

    MfG CSS



  • CSS schrieb:

    d.h.
    Default-Argumente werden schon bei ihrer Deklaration initialisiert und können später noch geändert werden.

    Normale Argumente werden erst beim Aufruf initialisiert.

    Ist das richtig??

    MfG CSS

    nein sie werden beide erst veim Aufruf initialisiert!
    mfg



  • @CSS: nicht ganz:

    wenn wir zB jetzt einen Funktions-Prototyp haben der wie folgt aussieht:

    void fo(int a, char c);  // diese Funktion hat keine default parameter
    
    // aufgerufen wird so zb so
    fo(65, 'A');
    

    und hier mit default-Argumenten

    void fo(int a, char c = 'A');  // diese Funktion hat einen default parameter
    
    // aufgerufen kann sie so werden
    fo(65); // hier benutzen wir den default Wert
    
    // aber auch so
    fo(12, 'i'); // hier wird nicht der default Wert benutzt
    

    d.h.

    wenn du denn zweiten Parameter der Funktion nicht mit uebergibst (in diesem Bsp den Parameter c)
    wird der default-Wert ('A') benutzt
    man kann aber einen Wert uebergeben wenn man nicht will das der default-Parameter benutzt werden soll

    ich hoffe das war jetzt etwas verständlicher



  • leo aka qsch schrieb:

    ich hoffe das war jetzt etwas verständlicher

    Sehr verständlich! Vielen Dank!

    MfG CSS


Anmelden zum Antworten