Hàm trong C++


1. Khái niệm

- Một hàm là một nhóm lệnh dùng để thực hiện một nhiệm vụ nào đó

- Hàm sẽ được đặt tên

- Mỗi hàm sẽ được định nghĩa loại kết quả trả về sau khi hoàn thành nhiệm vụ

- Hàm có thế yêu cầu các giá trị cần thiết để hoàn thành nhiệm vụ được giao

- Mỗi chương trình C++ có ít nhất một hàm, là hàm main().

2. Lợi thế của các hàm trong C++

2.1. Tái sử dụng mã

Với các đoạn code mà hay phải viết lại, bạn hãy đưa nó vào Hàm. Sau đó chúng ta chỉ cần gọi hàm để sử dụng. 

2.2. Tối ưu hóa mã

Thuật toán được viết trong Hàm sẽ luôn ổn định hơn trường hợp bạn viết đi viết lại ở những nơi khác nhau.

3. Định nghĩa một hàm

Kiểu_trả_về Tên_hàm(Danh_sách_tham_số) {

    // code thân hàm

}

Định nghĩa hàm trong lập trình C++ bao gồm tên hàm và phần thân hàm . Dưới đây là tất cả các phần của hàm:

Tên hàm: Đây là tên gọi của hàm.

  • Kiểu trả về: Một hàm có thể trả về một giá trị. Nó có thể là kiểu int, string... hoặc void. Void là không có cần trả về
  • Tham số:  Tham số là các biến truyền giá trị vào cho hàm để hàm sử dụng
  • Thân hàm: Phần thân hàm chứa một tập hợp thực hiện nhiệm vụ

 

4. Ví dụ hàm trong C++

Ví dụ dưới đây là mã nguồn cho một hàm được gọi là max(). Hàm này truyền vào hai tham số num1 và num2 và trả về giá trị lớn nhất giữa hai tham số:

/* hàm trả về giá trị lớn nhất giữa 2 số */

int max(int num1, int num2) {

   /* khai báo biến local */

   int result;

   if (num1 > num2)

      result = num1;

   else

      result = num2;

   return result;

}

 

5. Gọi một hàm trong C++

Hàm chỉ được sử dụng nếu được gọi. (trừ hàm main() chạy tự động )

#include <iostream>

using namespace std;

/* khai bao ham */

int max(int num1, int num2);

int main () {

   /* dinh nghia bien local */

   int a = 100;

   int b = 200;

   int ret;

   /* goi mot ham de lay gia tri lon nhat */

   ret = max(a, b);

   cout << "Max value is: " << ret << endl;

   return 0;

}

 

/* ham tra ve gia tri lon nhat giua hai so */

int max(int num1, int num2) {

   /* dinh nghia bien local */

   int result;

   if (num1 > num2)

      result = num1;

   else

      result = num2;

   return result;

}

Kết quả:

Max value is : 200


XEM THÊM: Đệ quy trong C++