Funksiyani qayta yuklash (Function Overloading)
Funksiyani qayta yuklash
Funksiyani qayta yuklash — bir nechta funksiyaga bir xil nom berish imkonini beradi, ular parametrlarining turi yoki soni bilan farqlanadi:
MISOL
cpp
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.
Qayta yuklashsiz
Turli turdagi sonlarni qo'shuvchi ikki funksiya:
MISOL
cpp
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;
}Muammo: Bir xil mantiq uchun ikki xil funksiya nomi yaratishga to'g'ri keldi.
Qayta yuklash bilan
plusFunc funksiyasini int va double uchun qayta yuklaymiz:
MISOL
cpp
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;
}ESLATMA
Bir nechta funksiya parametrlar soni va/yoki turi farq qilsa, bir xil nomga ega bo'lishi mumkin.
Parametrlar soni bo'yicha qayta yuklash
MISOL
cpp
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 << "2 sonning yig'indisi: " << result1 << "\n";
cout << "3 sonning yig'indisi: " << result2;
return 0;
}