88
#include
int f(int a){return a;}
int f(int a, int b = 1){return a * b;}
int main(){
cout << f(10, 2); // f(int, int) шақырылады
/* cout << f(10); Сəйкессіздік – қайсысы шақырылады:
f(int, int) немесе f(int) ? */
return 0;
}
Төменде асыра жүктелген функцияларды сипаттау ережелері келтірілген.
□ Асыра жүктелген функциялар бір көріну аймағында орналасуы тиіс,
əйтпесе қабаттасқан блоктардағы айнымалалар атаулары бірдей болғандықтан,
бір-бірінің мəндерін өзгертіп жібереді.
□ Асыра жүктелген функциялардың келісім бойынша берілген па-
раметрлері болуы мүмкін, мұндайда бір параметрдің əртүрлі
функцияларда-
ғы мəні бірдей болуы керек. Асыра жүктелген функциялардың əртүрлі
нұсқаларында келісім бойынша берілген параметрлер саны əртүрлі болуы
мүмкін.
□ Егер функциялар параметрлерінің
сипаттамалары тек
const
модифи-
каторымен немесе
сілтеме қолданумен (мысалы,
Достарыңызбен бөлісу: