ฟังก์ชัน C++ โอเวอร์โหลด
ฟังก์ชั่นโอเวอร์โหลด
ด้วยฟังก์ชันโอเวอร์โหลด ฟังก์ชันหลายฟังก์ชันสามารถมีชื่อเดียวกันโดยใช้พารามิเตอร์ต่างกันได้:
ตัวอย่าง
int myFunction(int x)
float myFunction(float x)
double
myFunction(double x, double y)
ลองพิจารณาตัวอย่างต่อไปนี้ ซึ่งมีฟังก์ชันสองฟังก์ชันที่บวกตัวเลขประเภทต่างๆ:
ตัวอย่าง
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;
}
แทนที่จะกำหนดฟังก์ชันสองอย่างที่ควรทำในสิ่งเดียวกัน จะดีกว่าที่จะโอเวอร์โหลดฟังก์ชันหนึ่ง
ในตัวอย่างด้านล่าง เราโอเวอร์โหลดplusFunc
ฟังก์ชันเพื่อใช้งานทั้งคู่int
และdouble
:
ตัวอย่าง
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;
}
หมายเหตุ:ฟังก์ชันหลายฟังก์ชันสามารถมีชื่อเดียวกันได้ ตราบใดที่ตัวเลขและ/หรือประเภทของพารามิเตอร์ต่างกัน