Аргументи по подразбиране
При дефиниране на функции в C++ на параметрите на функцията могат да се задават стойности по подразбиране. Нека разгледаме следната функция:
void increment(int& count, int step) {
count+=step;
}
int main() {
int c=10;
increment(c,1);
increment(c,10);
//...
return 0;
}
Функцията increment има два аргумента. Първият аргумент се предава като препратка. При извикване на функцията стойността на първият аргумент се увеличава със стойността, предадена като втори аргумент. В представения пример, при извикване на функцията в ред 7 променливата c се увеличава с единица и става равна на 11; в ред 8 се увеличава с десет и става равна на 21.
Да приемем, че най-често тази функция ще се вика с втори аргумент равен на 1. Тогава дефиницията на функцията може да се промени по следния начин:
void increment(int& count, int step=1) {
count+=step;
}
int main() {
int c=10;
increment(c);
increment(c,10);
...
return 0;
}
Обърнете внимание, че в ред 1 на втория аргумент на функцията е зададена стойност по подразбиране, равна на 1. Това позволява функцията да се вика като се пропускат аргументите, които имат стойност по подразбиране – виж ред 7. В такъв случай стойността на пропуснатия аргумент ще бъде равна на стойността по подразбиране.

Pingback: CPP-101: Кратък обзор на езика за програмиране C++ | Записки по програмиране