Kelishuv bo’yicha argumentlar S++ tilida funktsiya chaqirilganda ayrim argumentlarni tushirib qoldirish mumkin. Bunga funktsiya prototipida ushbu parametrlarni kelishuv bo’yicha qiymatini ko’rsatish orqali erishish mumkin. Masalan, quyida prototipi keltirilgan funktsiya turli chaqirishga ega bo’lishi mumkin:
//funktsiya prototipi
void Butun_Kurinishi(int I, bool Bayroq = true, char Belgi = ‘\n’);
//funktsiya chaqirishlari
Butun_Kurinishi(1, false,‘a’);
Butun_Kurinishi(2, false);
Butun_Kurinishi(3);
Birinchi chaqiruvda barcha parametrlar mos argumentlar orqali qiymatlarini qabul qiladi, ikkinchi holda i parametiri 2 qiymatini, bayroq parametri false qiymatini va Belgi o’zgaruvchisi kelishuv bo’yicha ‘\n’ qiymatini qabul qiladi.
Kelishuv bo’yicha qiymat berishning bitta sharti bor – parametrlar ro’yxatida kelishuv bo’yicha qiymat berilgan parametrlardan keyingi parametrlar ham kelishuv bo’yicha qiymatga ega bo’lishlari shart. Yuqoridagi misolda I parametri kelishuv bo’yicha qiymat qabul qilingan holda, Bayroq yoki Belgi parametrlari qiymatsiz bo’lishi mumkin emas. Misol tariqasida berilgan sonni ko’rsatilgan aniqlikda chop etuvchi programmani ko’raylik. Qo’yilgan masalani yechishda sonni darajaga oshirish funktsiyasi – pow( ) funktsiyaci va suzuvchi nuqtali uzun sondan modul olish fabsl( ) funktsiyasidan foydalaniladi. Bu funktsiyalar prototipi math.h sarlavha faylida joylashgan:
#include # include void Chop_qilish (double Numb, double Aniqlik = 1, bool Bayroq = true);
int main( )
{
double Mpi = -3.141592654;
Chop_qilish(Mpi, 4, false);
Chop_qilish(Mpi, 2);
Chop_qilish(Mpi);
Return 0;
}
void Chop_qilish(double Numb, double Aniqlik = 1, bool Bayroq = true)
{
if(!Bayroq) Numb = fabsl(Numb);
Numb = (int) (Numb*pow(10, Aniqlik));
Numb = Numb / pow(10, Aniqlik);
Cout << Numb << ‘\n’;
}
Programmada sonni turli aniqlikda (Aniqlik parametrlari qiymati orqali) chop etish uchun har xil variantlarda Chop_qilish( ) funktsiyasi chaqirilgan. Programma ishlashi natijasida ekranda quyidagi sonlar chop etiladi:
3.1415
-3.14
-3.1
Parametrning kelishuvi bo’yicha beriladigan qiymati konstanta, global o’zgaruvchi yoki qandaydir funktsiya qaytaradigan qiymat bo’lishi mumkin.