Ví dụ
#include <iostream>
using namespace std;
int mayTinh(int x, int y) {
return x + y;
}
int mayTinh(int x) {
return x * x;
}
double mayTinh(double x, double y) {
return x + y;
}
int main() {
int a = mayTinh(8, 4);
int b = mayTinh(8, 12);
double c = mayTinh(4.3, 6.26);
cout << "Kieu int, 2 tham so: " << a << "\n";
cout << "Kieu int, 1 tham so: " << b << "\n";
cout << "Kieu double, 2 tham so: " << c;
return 0;
}
Kết quả:
Kieu int, 2 tham so: 12 Kieu int, 1 tham so: 20 Kieu double, 2 tham so: 10.56
Ở ví dụ trên, các em có thể thấy hàm mayTinh
được khai báo đến 3 lần
- lần 1: có 2 tham số
x
vày
kiểuint
- lần 2: có 1 tham số
x
kiểuint
, khác với lần 1 về số lượng tham số - lần 3: có 2 tham số
x
vày
kiểudouble
, khác với lần 1 ở kiểu dữ liệu
Với ví dụ trên, khi không dùng nạp chồng, các em có thể viết lại như sau
#include <iostream>
using namespace std;
int mayTinh1(int x, int y) {
return x + y;
}
int mayTinh2(int x) {
return x * x;
}
double mayTinh3(double x, double y) {
return x + y;
}
int main() {
int a = mayTinh1(8, 4);
int b = mayTinh2(8, 12);
double c = mayTinh3(4.3, 6.26);
cout << "Kieu int, 2 tham so: " << a << "\n";
cout << "Kieu int, 1 tham so: " << b << "\n";
cout << "Kieu double, 2 tham so: " << c;
return 0;
}