Nạp Chồng Hàm (function Overloading) Là Gì? - Góc Học IT
Có thể bạn quan tâm
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 <iostream> 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 << "Absolute value of -5 = " << absolute(-5) << endl; // call function with float type parameter cout << "Absolute value of -5.5 = " << absolute(-5.5f) << endl; system("pause"); }Kết quả
Absolute value of -5 = 5 Absolute value of -5.5 = 5.5
Chương trình C++ minh họa nạp chồng hàm với số lượng tham số khác nhau
#include <iostream> using namespace std; // function with 2 parameters void display(int var1, double var2) { cout << "Integer number: " << var1; cout << " and double number: " << var2 << endl; } // function with double type single parameter void display(double var) { cout << "Double number: " << var << endl; } // function with int type single parameter void display(int var) { cout << "Integer number: " << var << endl; } int main() { int a = 5; double b = 5.5; // call function with int type parameter display(a); // call function with double type parameter display(b); // call function with 2 parameters display(a, b); system("pause"); }Kết quả
Integer number: 5 Float number: 5.5 Integer number: 5 and double number: 5.5
Các bạn không nên sử dụng quá nhiều nạp chồng hàm để tránh bị nhầm lẫn chức năng giữa các hàm nhé!
- Cấu trúc rẽ nhánh switch case và minh họa với C++
- Kiểu dữ liệu enum trong Java
- Cấu trúc vòng lặp while và do…while trong PHP
- Nạp chồng toán tử (operator overloading) trong C++
- Xây dựng lớp (class) và tạo đối tượng (object) trong Python
Từ khóa » Hàm Chồng Có Nghĩa Là Gì
-
Chồng Hàm – Wikipedia Tiếng Việt
-
Định Nghĩa Chồng Các Hàm (overloading) - VOER
-
Nạp Chồng Hàm Và Nạp Chồng Toán Tử - Lập Trình Không Khó
-
Nạp Chồng Toán Tử Và Nạp Chồng Hàm Trong C++
-
Nạp Chồng Toán Tử Trong C++ | TopDev
-
Nạp Chồng Hàm Trong C++ (Function Overloading) | How Kteam
-
Hãy Cho Biết Hàm Overloaded Là Gì?
-
Bạn Đã Phân Biệt Được Overriding Và Overloading? - CodeLearn
-
[PDF] Nạp Chồng Toán Tử, Từ Khóa Friend Và Tham Chiếu - VNU-UET
-
[PDF] Bài 4: Tham Số Của Hàm Và Nạp Chồng Hàm - UET
-
Nạp Chồng Hàm Là Gì
-
Nguyên Tắc Hôn Nhân Tự Nguyện Qua Chế định Kết Hôn Và Ly Hôn