Trang tài liệu
Khóa học C++ nền tảng
Chương 4. Hàm
Hàm trong C++

Hàm trong C++

Hàm là một nhóm các câu lệnh thực hiện một nhiệm vụ cụ thể, được tổ chức như một đơn vị riêng biệt trong một chương trình. Các hàm giúp chia mã code thành các khối nhỏ hơn, dễ quản lý và có thể tái sử dụng.

Chủ yếu có hai loại hàm trong C++:

  • Các hàm thư viện chuẩn: Các hàm được xác định trước có sẵn trong thư viện chuẩn C++, chẳng hạn như printf(), scanf(), sqrt(), v.v. Các hàm này là một phần của thư viện tiêu chuẩn, vì vậy bạn cần thêm tệp tiêu đề thích hợp để sử dụng chúng.
  • Các hàm do người dùng định nghĩa: Các hàm do người lập trình tạo ra để thực hiện một tác vụ cụ thể. Để tạo một hàm do người dùng xác định, bạn cần xác định hàm đó và gọi hàm đó trong mã code của mình.

Định nghĩa của một hàm

Định dạng chung để định nghĩa một hàm trong C++ là:

return_type function_name(parameter list) {
    // Hàm body
}
  • return_type: Kiểu dữ liệu của đầu ra do hàm tạo ra. Nó có thể bị void, cho biết rằng hàm không trả về bất kỳ giá trị nào.
  • function_name: Tên được đặt cho hàm, tuân theo các quy ước đặt tên của C++.
  • danh sách tham số: Danh sách các tham số/đối số đầu vào cần thiết để thực hiện tác vụ. Nó là tùy chọn và khi không cần tham số, bạn có thể để trống hoặc sử dụng từ khóa void.

Ví dụ

#include <iostream>
using namespace std;

// Hàm cộng hai số
int addNumbers(int a, int b) {
    int sum = a + b;
    return sum;
}

int main() {
    int num1 = 5, num2 = 10;
    int result = addNumbers(num1, num2); // Gọi hàm
    cout << "The sum is: " << result << endl;
    return 0;
}

Trong ví dụ này, hàm addNumbers nhận hai tham số số nguyên, a và b, rồi trả về tổng của các số. Sau đó chúng ta gọi hàm này từ hàm main() và hiển thị kết quả.

Hàm nguyên mẫu

Trong một số trường hợp, bạn có thể muốn sử dụng một hàm trước khi thực sự định nghĩa nó. Để làm điều này, bạn cần khai báo một hàm nguyên mẫu ở đầu mã code của mình.

Một hàm nguyên mẫu là một khai báo của hàm không có phần thân của nó và nó thông báo cho trình biên dịch về tên, kiểu trả về và các tham số của hàm.

#include <iostream>
using namespace std;

// Hàm nguyên mẫu
int multiplyNumbers(int x, int y);

int main() {
    int num1 = 3, num2 = 7;
    int result = multiplyNumbers(num1, num2); // gọi hàm
    cout << "The product is: " << result << endl;
    return 0;
}

// Định nghĩa hàm
int multiplyNumbers(int x, int y) {
    int product = x * y;
    return product;
}

Trong ví dụ này, chúng tôi sử dụng một hàm nguyên mẫu chomultipleNumbers() trước khi xác định nó. Bằng cách này, chúng ta có thể gọi hàm từ hàm main() mặc dù nó chưa được định nghĩa trong mã code.