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
модифи-
каторымен немесе
сілтеме қолданумен (мысалы,
int
жəне
const int
не-
месе
Достарыңызбен бөлісу: