Функцияларнинг қайта юкланиши. Функцияни қайта юклашга доир мисоллар



Download 120,64 Kb.
Sana17.04.2022
Hajmi120,64 Kb.
#558907
Bog'liq
Функцияларнинг қайта юкланиши


Функцияларнинг қайта юкланиши.
Функцияни қайта юклашга доир мисоллар
Функцияларнинг қайта юкланиши
Функцияларнинг “қайта юклаш” – бу айнан бир ном билан функцияни бир неча марта эълон қилиш. Шундай қилиб, маълум кўриниш доирасида “қайта юкланаёган” функциянинг номи бир неча марта эълон қилинади. Қайта юкланган функцияларни компилятор бир – биридан фарқлай олиши учун бу функциялар кириш параметрлари рўйхати билан фарқланиши шарт.
Функцияларнинг қайта юкланиши
Фақат ўзларининг аргументлар типи ёки сони билан фарқланувчи функциялар қайта юкланиши мумкин. Фақат қайтарадиган қийматлари типи билан фарқланувчи функцияларни қайта юкланиши мумкин эмас. Қайта юкланаёган функция моҳияти бўйича яқинроқ бўлган амаллар учун бир ном билан мурожаат ҳуқуқини бериш орқали дастурни соддалаштириш имкониятини беради.
Функцияларнинг қайта юкланиши
Умумий ҳолда, маълум кўриниш доирасида “қайта юкланаёган” функция эълони қуйидагича:
return_type1 FunName(parameters_list_1)
{
// ...
}
return_type2 FunName(parameters_list_2)
{
// ...
}

return_typeN FunName(parameters_list_N)
{
// ...
}
Функцияларнинг қайта юкланиши
бу ерда
  • FunName – қайта юкланаёган функциянинг номи;

  • -parameters_list1parameters_list2,…, parameters_listN – FunName номи билан қайта юкланаёган функция параметлари рўйхати;
  • return_type1return_type2, …, return_typeN –

  • қайта юкланган FunName функция қайтараётган параметлари типи.

Қайта юкланган функциялар фарқланаши
Қайта юкланган функциялар параметрлари рўйхати бўйича фарқланади. Қайта юкланган функциялар параметрлари рўйхати қуйидаги аломатлар бўйича фарқланаши керак:
  • параметрлари сони;
  • агар параметрлар сони бир хил бўлса, параметрлар типи бўйича.

Масалан. Max() қайта юкланган функция, параметрлар сони ҳамда параметрлар типи бўйича фарқланади.
// int типдаги икки параметрли Max функцияси
int Max(int a, int b)
{
// ...
}
// int типдаги учта параметрли Max функцияси
int Max(int a, int b, int c)
{
// ...
}
 // double типдаги икки параметрли Max функцияси
int Max(double a, double b)
{
// ...
}
1-мисол. Equal() типлардаги икки қийматни таққослаш функцияси. Функция турли (char, int, double) типлар учун уч марта қайта юкланган.
#include
using namespace std;
bool Equal(char c1, char c2)
{
return (c1==c2);
}
bool Equal(double d1, double d2)
{
return (d1==d2);
}
bool Equal(int i1, int i2)
{
return (i1==i2);
}
1-мисол. Equal() типлардаги икки қийматни таққослаш функцияси. Функция турли (char, int, double) типлар учун уч марта қайта юкланган.
int main()
{
bool b;
b = Equal(5,6);
// Equal(int, int) чақирилаяпди, b = 0
cout<b = Equal(3.755, 3.755);
// Equal(double, double) чақирилаяпди, b = 1
cout<b = Equal('A', 'A');
// Equal(char, char) чақирилаяпди, b = 1
cout<return 0;
}
2-misol. Average()- o’rta arifmetik qiymatni hisoblaydigan funksiya. Funksiya butun parametrlarning turli xil miqdori uchun 4 marta qayta yuklanishi amalga oshirilgan.
#include
using namespace std;
double Average(int a, int b)
{
return (a+b)/2.0;
}
double Average(int a, int b, int c)
{
return (a+b+c)/3.0;
}
2-misol. Average()- o’rta arifmetik qiymatni hisoblaydigan funksiya. Funksiya butun parametrlarning turli xil miqdori uchun 4 marta qayta yuklanishi amalga oshirilgan.
double Average(int a, int b, int c, int d)
{
return (a+b+c+d)/4.0;
}
double Average(int a, int b, int c, int d, int e)
{
return (a+b+c+d+e)/5.0;
}
2-misol. Average()- o’rta arifmetik qiymatni hisoblaydigan funksiya. Funksiya butun parametrlarning turli xil miqdori uchun 4 marta qayta yuklanishi amalga oshirilgan.
int main()
{
double avg;
avg = Average(2,3); // avg = 2.5
cout<avg = Average(2,3,5); // avg = 3.3333
cout<avg = Average(2,3,5,8); // avg = 4.5
cout<avg = Average(2,3,5,8,11); // avg = 5.8
cout<return 0;
}

Download 120,64 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish