Аргументи по подразбиране
При дефиниране на функции в 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++ | Записки по програмиране