Trang tài liệu
Khóa học C++ nền tảng
Chương 8. Cấu trúc và lớp
Nạp chồng hàm

Nạp chồng hàm

Nạp chồng hàm là một kiểu đa hình tĩnh trong C++ trong đó nhiều hàm có cùng tên nhưng khác bộ tham số được định nghĩa trong cùng một phạm vi. Điều này cho phép bạn sử dụng cùng một tên hàm cho nhiều tác vụ bằng cách cung cấp các đối số khác nhau trong khi gọi hàm. Hàm thích hợp để gọi được xác định trong thời gian biên dịch dựa trên số lượng và loại đối số được truyền.

Để nạp chồng hàm, chỉ cần xác định một hàm khác có cùng tên nhưng một bộ tham số khác. Trình biên dịch sẽ tự động chọn hàm chính xác để gọi dựa trên các đối số được cung cấp.

Ví dụ

Đây là một ví dụ minh họa nạp chồng hàm:

#include <iostream>
using namespace std;

void print(int num) {
    cout << "Printing int: " << num << endl;
}

void print(double num) {
    cout << "Printing double: " << num << endl;
}

void print(char const *str) {
    cout << "Printing string: " << str << endl;
}

int main() {
    print(5);
    print(3.14);
    print("Hello, world!");

    return 0;
}

Trong ví dụ này, nạp chồng ba hàm có tên print được định nghĩa. Mỗi người nhận một loại đối số khác nhau: int, double và char const *. Khi gọi print() với các đối số khác nhau như 5, 3.14 hoặc "Hello, world!", thì hàm thích hợp được chọn dựa trên loại đối số được cung cấp.

Đầu ra của chương trình này sẽ là:

Printing int: 5
Printing double: 3.14
Printing string: Hello, world!

Hãy nhớ rằng số lượng tham số và kiểu của chúng phải khác nhau để nạp chồng hai hàm.