Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Positionele en Standaardargumenten | Specificatie van Functieargumenten
C++-Functies

Positionele en Standaardargumenten

Veeg om het menu te tonen

Positie-argumenten

Positie-argumenten zijn een manier om waarden aan een functie door te geven in een specifieke volgorde op basis van de functiedeclaratie. De waarden worden gekoppeld aan parameters volgens hun posities in de parameterlijst van de functiedeclaratie. De positie van elk argument bepaalt met welke parameter het overeenkomt.

main.cpp

main.cpp

1234567891011121314151617181920
#include <iostream> // Function that takes two positional arguments float divide(float a, float b) { if (b == 0) return 0; return a / b; } int main() { float x = 8; float y = 4; // Calling the 'divide' function with two positional arguments float result = divide(x, y); std::cout << result << std::endl; }

Je kunt een klein experiment uitvoeren: verander de volgorde waarin argumenten aan de functie worden doorgegeven (gebruik divide (y, x) in plaats van divide(x, y)), en je zult zien dat het resultaat verandert. Dit is precies de essentie van positie-argumenten: de volgorde waarin parameters aan de functie worden doorgegeven is belangrijk en beïnvloedt direct het resultaat.

Standaardargumenten

Standaardargumenten maken het mogelijk om standaardwaarden toe te wijzen aan functieparameters. Als een functie wordt aangeroepen zonder alle argumenten op te geven, gebruiken de ontbrekende argumenten hun standaardwaarden. Om een standaardwaarde in te stellen, geef je de parameter direct een waarde in de functiedeclaratie.

main.cpp

main.cpp

12345678910111213141516171819202122
#include <iostream> // Default value is set for the third parameter float divide(float a, float b, bool terminate = true) { if (b == 0) { if (terminate) return 0; return a / 0.000001; // Prevent crash by using a very small number } return a / b; } int main() { std::cout << divide(10, 2) << std::endl; // Normal division std::cout << divide(10, 0) << std::endl; // Default behavior (error) std::cout << divide(10, 0, false) << std::endl; // Forced division }

De functie divide() deelt een getal door een ander getal. Als de noemer (b) nul is:

  • terminate = true → retourneert 0
  • terminate = false → deelt door een zeer klein getal om een fout te voorkomen

De parameter terminate heeft een standaardwaarde van true, dus deze kan worden weggelaten. Stel terminate = false in om de berekening voort te zetten in plaats van te stoppen.

Note
Opmerking

Het is belangrijk dat alle standaardargumenten na de positionele argumenten in de parameterlijst staan. Anders geeft de compiler een foutmelding.

question mark

Welke functiedeclaratie gebruikt positionele en standaardargumenten correct?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 1

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 2. Hoofdstuk 1
some-alt