Mavzu: Sinflarni yaratishda funksiyalarni qayta yuklash mexanizimidan unumli foydalanish. Reja: Kirish



Yüklə 155,87 Kb.
səhifə5/8
tarix24.12.2023
ölçüsü155,87 Kb.
#158242
1   2   3   4   5   6   7   8
Sinflarni yaratishda funksiyalarni qayta yuklash mexanizimidan unumli foydalanish.

Ismlar to'qnashuvi yuz berganday tuyulishi mumkin, ammo unday emas. Kompilyator funktsiya chaqiruvida ishlatiladigan argumentlar asosida subtract() ning qaysi versiyasini chaqirish kerakligini o'zi aniqlay oladi. Agar parametrlar int tipidagi o'zgaruvchilar bo'lsa, unda C++ biz nima chaqirmoqchi ekanligimizni tushunadi subtract(int, int). Agar biz suzuvchi nuqta turining ikkita qiymatini taqdim etsak, C++ nima chaqirishni xohlayotganimizni tushunadi subtract(double, double). Aslida, biz subtract () ning haddan tashqari Yuklangan funktsiyalarini xohlagancha aniqlashimiz mumkin, agar ularning har biri o'ziga xos (noyob) parametrlarga ega bo'lsa.
Shuning uchun subtract() funktsiyasini va ko'proq parametrlar bilan aniqlash mumkin:

1
2
3
4

int subtract(int a, int b, int c)
{
return a - b - c;
}

Bu erda subtract() 2 o'rniga 3 parametrga ega bo'lsa-da, bu xato emas, chunki bu parametrlar subtract () ning boshqa versiyalaridan farq qiladi.


4.1 Funktsiyalarni ortiqcha yuklashda qaytish turlari




E'tibor bering, funktsiyani ortiqcha yuklashda funktsiyani qaytarish turi hisobga olinmaydi. Aytaylik, siz tasodifiy raqamni qaytaradigan funktsiyani yozmoqchisiz, lekin sizga int turidagi qiymatni qaytaradigan bitta versiya kerak, ikkinchisi esa double turidagi qiymatni qaytaradi. Siz quyidagilarni qilishni xohlashingiz mumkin:

1
2

int getRandomValue();
double getRandomValue();

Derleyici xato qiladi. Ushbu ikkita funktsiya bir xil parametrlarga ega (aniqrog'i, ular yo'q) va shuning uchun getRandomValue() funktsiyasining ikkinchi chaqiruvi birinchi qo'ng'iroqni noto'g'ri bekor qilish deb hisoblanadi. Funktsiya nomlarini o'zgartirish kerak bo'ladi.



Yüklə 155,87 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə