Khái niệm hàm trong C++
Function – Hàm là một nhóm các câu lệnh cùng thực hiện một nhiệm vụ. Mỗi chương trình C ++ có ít nhất một hàm, đó là hàm main() và có các chương trình có thể định nghĩa các hàm bổ sung.
Bạn có thể chia mã code của bạn thành các chức năng (functions) riêng biệt. Cách bạn phân chia mã của mình giữa các chức năng khác nhau tùy thuộc vào bạn, nhưng về mặt logic, việc phân chia thường là sao cho mỗi chức năng thực hiện một nhiệm vụ cụ thể.
Một khai báo (declaration) hàm cho trình biên dịch về tên, kiểu trả về và tham số của hàm. Một định nghĩa (definition )hàm cung cấp phần thân thực tế của hàm.
Thư viện chuẩn C ++ cung cấp nhiều chức năng tích hợp mà chương trình của bạn có thể gọi. Ví dụ, hàm strcat() để nối hai chuỗi, hàm memcpy() để sao chép một vị trí bộ nhớ sang vị trí khác và nhiều hàm khác.
Một hàm được biết đến với nhiều tên khác nhau như một phương thức hoặc một thường trình con hoặc một thủ tục, v.v.
return_type function_name( parameter list ) { body of the function }
Một định nghĩa hàm C ++ bao gồm một header và function body. Chi tiết hơn anh em đọc phần dưới nhé:
- Return Type ( Kiểu trả về ) :- Một hàm có thể trả về một giá trị. Các return_type là kiểu dữ liệu của giá trị trở về chức năng. Một số chức năng thực hiện các hoạt động mong muốn mà không trả về một giá trị. Trong trường hợp này, return_type là từ khóa void .
- Function Name (Tên hàm ): Đây là tên thực của hàm. Tên hàm và danh sách tham số cùng nhau tạo thành chữ ký hàm.
- Parameters (Tham số) : Một tham số giống như một trình giữ chỗ. Khi một hàm được gọi, bạn chuyển một giá trị cho tham số. Giá trị này được gọi là tham số hoặc đối số thực tế. Danh sách tham số đề cập đến loại, thứ tự và số lượng các tham số của hàm. Các thông số là tùy chọn; đó là, một hàm có thể không chứa tham số.
- Function Body ( Phần thân hàm) : Phần thân hàm chứa một tập hợp các câu lệnh xác định hàm làm gì.
Ví dụ về hàm trong C++
Ta có hàm max() . Hàm này nhận hai tham số num1 và num2 và trả về giá trị lớn nhất của cả hai
// hàm trả về giá trị lớn nhất giữa hai số int max(int num1, int num2) { // khai báo biến cục bộ int result; if (num1 > num2) result = num1; else result = num2; return result; }
Phân tích ví dụ trên.
Một khai báo hàm cho trình biên dịch về một tên hàm và cách gọi hàm. Cơ thể thực tế của chức năng có thể được xác định riêng biệt.
Một khai báo hàm có các phần sau:
return_type function_name( parameter list );
Ví dụ trên ta có phần khai báo :
int max(int num1, int num2);
Tên tham số không quan trọng trong khai báo hàm. Khai báo hàm là bắt buộc khi bạn xác định hàm trong một tệp nguồn và bạn gọi hàm đó trong tệp khác. Trong trường hợp như vậy, bạn nên khai báo hàm ở đầu tệp gọi hàm.
Gọi Function – Gọi hàm
Trong khi tạo hàm C ++, bạn đưa ra định nghĩa về chức năng phải làm. Để sử dụng một chức năng, bạn sẽ phải gọi chức năng đó.
Khi một chương trình gọi một chức năng, điều khiển chương trình được chuyển đến chức năng được gọi. Hàm được gọi thực hiện nhiệm vụ được xác định và khi câu lệnh trả về của nó được thực thi hoặc khi đạt đến dấu ngoặc đóng kết thúc chức năng của nó, nó sẽ trả điều khiển chương trình trở lại chương trình chính.
Để gọi một hàm, bạn chỉ cần truyền các tham số cần thiết cùng với tên hàm và nếu hàm trả về một giá trị, thì bạn có thể lưu trữ giá trị trả về. Ví dụ:
#include <iostream> using namespace std; // function declaration int max(int num1, int num2); int main () { // khai báo biến cục bộ: int a = 100; int b = 200; int ret; // gọi một hàm để có giá trị tối đa. ret = max(a, b); cout << "Gia tri lon nhat la : " << ret << endl; return 0; } // hàm trả về giá trị lớn nhất giữa hai số int max(int num1, int num2) { // khai báo biến cục bộ int result; if (num1 > num2) result = num1; else result = num2; return result; }
Hàm max() cùng với hàm main() và biên dịch mã nguồn. Trong khi chạy thực thi cuối cùng, nó sẽ tạo ra kết quả sau
Gia tri lon nhat la : 200