Nạp chồng hàm C++
Quá tải chức năng
Với chức năng nạp chồng , nhiều hàm có thể có cùng tên nhưng có các tham số khác nhau:
Ví dụ
int myFunction(int x)
float myFunction(float x)
double
myFunction(double x, double y)
Hãy xem xét ví dụ sau, có hai hàm cộng các số có kiểu khác nhau:
Ví dụ
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;
}
Hãy tự mình thử »Thay vì xác định hai hàm thực hiện cùng một công việc, tốt hơn là nạp chồng một hàm.
Trong ví dụ bên dưới, chúng ta nạp chồng hàm plusFunc
để hoạt động cho cả int
và double
:
Ví dụ
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;
}
Hãy tự mình thử »Lưu ý: Nhiều hàm có thể có cùng tên miễn là số lượng và/hoặc loại tham số khác nhau.