Tham số (Parameter) và đối số (Argument)
Phân biệt Tham số và Đối số
Phần tiêu đề “Phân biệt Tham số và Đối số”- Tham số (parameter): biến được khai báo trong định nghĩa hàm
- Đối số (argument): giá trị thực tế được truyền vào khi gọi hàm
// a và b là THAM SỐint add(int a, int b) { return a + b;}
int main() { int result = add(5, 3); // 5 và 3 là ĐỐI SỐ return 0;}Mỗi tham số phải khai báo kiểu dữ liệu
Phần tiêu đề “Mỗi tham số phải khai báo kiểu dữ liệu”Mỗi tham số trong C++ bắt buộc phải có kiểu dữ liệu riêng, kể cả khi nhiều tham số cùng kiểu:
// Đúng: phải lặp lại kiểu cho từng tham sốint add(int a, int b, int c) { return a + b + c;}
// SAI: không thể gộp kiểu như thế này// int add(int a, b, c) { ... } // LỖI BIÊN DỊCHSố lượng đối số phải khớp với tham số
Phần tiêu đề “Số lượng đối số phải khớp với tham số”int add(int a, int b) { return a + b;}
int main() { add(1, 2); // OK // add(1); // LỖI: thiếu đối số // add(1, 2, 3); // LỖI: thừa đối số return 0;}(Trừ khi hàm có tham số mặc định hoặc dùng overloading - sẽ học ở các bài sau.)
Đối số phải đúng kiểu (hoặc chuyển đổi được)
Phần tiêu đề “Đối số phải đúng kiểu (hoặc chuyển đổi được)”int add(int a, int b) { return a + b;}
int main() { std::cout << add(2, 3) << std::endl; // 5 std::cout << add(2.9, 3.9) << std::endl; // 5 (double bị cắt về int: 2 + 3) return 0;}Tổng kết
Phần tiêu đề “Tổng kết”- Tham số là biến khai báo trong định nghĩa hàm; đối số là giá trị thực tế truyền vào khi gọi
- Mỗi tham số phải khai báo kiểu dữ liệu riêng biệt, không thể gộp chung
- Số lượng và kiểu đối số phải khớp với khai báo tham số (trừ trường hợp có giá trị mặc định hoặc overloading)