C++ funksiyalarni qayta yuklash (overloading)
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!
