Hãy cho biết hàm overloaded là gì?

1. Nạp chồng hàm [function overloading] là gì?

Trong C++, 2 hàm có thể trùng tên với nhau nếu danh sách tham số của hàm là khác nhau. Có thể khác nhau về số lượng tham số hoặc kiểu dữ liệu của tham số.

Những hàm có cùng tên nhưng khác danh sách tham số thì gọi là nạp chồng hàm.

Ví dụ:

// các hàm trùng tên nhưng khác danh sách tham số int test[] { } int test[int a] { } float test[double a] { } int test[int a, double b] { }

Lưu ý: Kiểu trả về của các hàm nạp chồng có thể giống hoặc khác nhau cũng được. Nhưng danh sách tham số phải là khác nhau.

Ví dụ bên dưới sẽ là khai báo hàm nạp chồng lỗi vì tham số giống nhau [mặc dù hàm khác kiểu trả về].

// Error code int test[int a] { } double test[int b]{ }

2. Một số ví dụ về nạp chồng hàm

Chương trình C++ minh họa nạp chồng hàm với kiểu dữ liệu của tham số khác nhau

// Program to compute absolute value // Works for both int and float #include using namespace std; // function with float type parameter float absolute[float var]{ if [var < 0.0] var = -var; return var; } // function with int type parameter int absolute[int var] { if [var < 0] var = -var; return var; } int main[] { // call function with int type parameter cout

Chủ Đề