C++ funksiyalarni qayta yuklash (overloading)


ULASHISH

Funksiyalarni qayta yuklash (overloading)

Funksiyalarni qayta yuklash (function overloading) bir nechta funksiyaga bir xil nomga ega bo‘lish imkonini beradi, faqat ularning parametrlari tipi yoki soni bo‘yicha farq qilishi kerak:

Misol

int myFunction(int x) float myFunction(float x) double myFunction(double x, double y)

Bu o‘xshash vazifalar uchun bir xil funksiya nomidan foydalanish imkonini beradi.


Funksiyalarni qayta yuklashsiz

Turli tipdagi sonlarni qo‘shadigan ikkita funksiyadan iborat quyidagi misolni ko‘rib chiqing:

Misol

int plusFuncInt(int x, int y) {   return x + y; } double plusFuncDouble(double x, double y) {   return x + y; } int main() {   int myNum1 = plusFuncInt(8, 5);   double myNum2 = plusFuncDouble(4.3, 6.26);   cout << "Int: " << myNum1 << "\n";   cout << "Double: " << myNum2;   return 0; }
O‘zingiz sinab ko‘ring »

Muammo: Bir xil mantiq uchun ikki xil funksiya nomini yaratishga majbur bo‘ldik.


Funksiyalarni qayta yuklashdan foydalanish

Bir xil ishni bajarishi kerak bo‘lgan ikkita funksiyani aniqlash o‘rniga bittasini qayta yuklagan ma’qul.

Quyidagi misolda plusFunc funksiyasini ham int, ham double uchun ishlaydigan qilib qayta yuklaymiz:

Misol

int plusFunc(int x, int y) {   return x + y; } double plusFunc(double x, double y) {   return x + y; } int main() {   int myNum1 = plusFunc(8, 5);   double myNum2 = plusFunc(4.3, 6.26);   cout << "Int: " << myNum1 << "\n";   cout << "Double: " << myNum2;   return 0; }
O‘zingiz sinab ko‘ring »

Eslatma: Parametrlar soni va/yoki tipi farq qilsa, bir nechta funksiya bir xil nomga ega bo‘lishi mumkin.



Parametrlar soni bo‘yicha funksiyalarni qayta yuklash

Bu misolda funksiyani turli sondagi parametrlar yordamida qayta yuklaymiz:

Misol

int plusFunc(int x, int y) {   return x + y; } int plusFunc(int x, int y, int z) {   return x + y + z; } int main() {   int result1 = plusFunc(3, 7);   int result2 = plusFunc(1, 2, 3);   cout << "Sum of 2 numbers: " << result1 << "\n";   cout << "Sum of 3 numbers: " << result2;   return 0; }
O‘zingiz sinab ko‘ring »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!