Menu
CoddyTech

Nạp chồng hàm

Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 54 trên 74.

Nạp chồng hàm (function overloading) là một tính năng trong C++ cho phép hai hàm trở lên có cùng tên nhưng khác tham số. Khi bạn gọi một hàm được nạp chồng, trình biên dịch C++ sẽ xác định định nghĩa phù hợp nhất bằng cách so sánh kiểu dữ liệu của các đối số bạn dùng trong lời gọi với kiểu dữ liệu của các tham số được chỉ định trong các định nghĩa. Nếu không tìm thấy hàm phù hợp, trình biên dịch sẽ báo lỗi.

Đây là một ví dụ về nạp chồng hàm (function overloading):

int add(int a, int b) {
	return a + b;
}
double add(double a, double b) {
	return a + b;
}
int main() {
	int sum1 = add(5, 3); // Gọi phiên bản đầu tiên của add
	double sum2 = add(2.5, 3.7); // Gọi phiên bản thứ hai của add
    return 0;
}

Trong ví dụ này, chúng ta có hai hàm tên là add. Một hàm nhận hai tham số int, hàm còn lại nhận hai tham số double. Tùy vào kiểu dữ liệu của các đối số mà chúng ta truyền vào add, phiên bản hàm phù hợp sẽ được gọi.

Điều quan trọng cần lưu ý là chỉ riêng kiểu trả về không đủ để nạp chồng một hàm (function). Các hàm phải có danh sách tham số khác nhau.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Trình biên dịch C++ online