C++ default functie argumenten: hoe ze werken & best practices
C++ Default Functie Argumenten
Ontdek hoe je standaardwaarden aan functieparameters toewijst in C++, met stap-voor-stap voorbeelden en praktische richtlijnen.
In C++ kunnen functieparameters standaardwaarden krijgen. Wanneer een aanroep een argument weglaat, vervangt de compiler de standaard. Als een argument meegegeven wordt, wordt de standaard genegeerd.
Hoe Default Argumenten Werken

Overweeg de volgende illustratie:
temp()gebruikt beide standaarden.temp(6)overschrijft de eerste parameter; de tweede blijft standaard.temp(6, -2.3)geeft waarden voor beide, overschrijft beide standaarden.temp(3.4)per ongeluk een double doorgeven aan een int parameter. De compiler truncate de waarde naar3, wat aantoont dat argument types de declaratie volgorde moeten matchen.
Voorbeeld: Default Argumenten Gebruiken
#include <iostream> using namespace std; // Prototype met default argumenten void display(char = '*', int = 3); int main() { int count = 5; cout << "No argument passed: "; display(); // gebruikt '*', 3 cout << "First argument passed: "; display('#'); // gebruikt '#', 3 cout << "Both arguments passed: "; display('$', count); // gebruikt '$', 5 return 0; } void display(char c, int count) { for(int i = 1; i <= count; ++i) { cout << c; } cout << endl; }
Output
No argument passed: *** First argument passed: ### Both arguments passed: $$$$$
Het programma gedraagt zich als volgt:
display()gebruikt de standaardenc='*'encount=3.display('#')overschrijft alleen het eerste argument; de tweede blijft standaard.- Wanneer beide argumenten meegegeven, worden standaarden genegeerd.
Standaarden direct in de functiedefinitie definiëren is ook geldig en vaak duidelijker:
#include <iostream> using namespace std; void display(char c = '*', int count = 3) { for(int i = 1; i <= count; ++i) { cout << c; } cout << endl; } int main() { int count = 5; cout << "No argument passed: "; display(); cout << "First argument passed: "; display('#'); cout << "Both arguments passed: "; display('$', count); return 0; }
Belangrijke Punten om te Onthouden
- Nadat een parameter een standaardwaarde krijgt, moet elke volgende parameter ook een standaard hebben. Bijvoorbeeld:
// Ongeldig void add(int a, int b = 3, int c, int d); // Geldig void add(int a, int c, int b = 3, int d = 4); - Wanneer standaarden in de definitie gespecificeerd zijn in plaats van het prototype, moet de definitie voorafgaan aan elke aanroep. Anders geeft de compiler een fout.
C Taal
- Namespaces in C#: organisatie, scope en best practices
- C++ operators: complete gids met praktische voorbeelden
- C++ comments: best practices voor leesbare, onderhoudbare code
- Arrays doorgeven aan functies in C++: een praktische gids
- C++ Class Templates Beheersen: Een Praktische Gids
- C Programmeeroperatoren Beheersen: Een Uitgebreide Gids
- Vier bewaarde patronen voor gebruiksgedefinieerde functies in C
- C-programmeren leren: Uitgebreide tutorial voor beginners
- C-functies: Structuur, declaratie, aanroep en argumenten
- Variabele Argumenten in C: Een Praktische Gids
- C++ Programmeertaal: Overzicht & Belangrijkste Kenmerken