Hàm C++
Hàm là một khối mã chỉ chạy khi được gọi.
Bạn có thể truyền dữ liệu, được gọi là tham số, vào một hàm.
Các hàm được sử dụng để thực hiện một số hành động nhất định và chúng rất quan trọng để sử dụng lại mã: Xác định mã một lần và sử dụng mã đó nhiều lần.
Tạo một hàm
C++ cung cấp một số hàm được xác định trước, chẳng hạn như main()
, được sử dụng để thực thi mã. Nhưng bạn cũng có thể tạo các chức năng của riêng mình để thực hiện một số hành động nhất định.
Để tạo (thường được gọi là khai báo ) một hàm, hãy chỉ định tên của hàm, theo sau là dấu ngoặc đơn () :
Cú pháp
void myFunction () {
// code to be executed
}
Ví dụ giải thích
-
myFunction()
là tên của hàm -
void
có nghĩa là hàm không có giá trị trả về. Bạn sẽ tìm hiểu thêm về giá trị trả về ở phần sau trong chương tiếp theo - bên trong hàm (phần thân), thêm mã xác định chức năng nên làm
Gọi một hàm
Các hàm được khai báo không được thực thi ngay lập tức. Chúng được "lưu để sử dụng sau" và sẽ được thực thi sau khi chúng được gọi.
Để gọi một hàm, hãy viết tên hàm theo sau là hai dấu ngoặc đơn ()
và dấu chấm phẩy ;
Trong ví dụ sau, myFunction()
được sử dụng để in một văn bản (hành động) khi nó được gọi:
Ví dụ
Bên trong main
, hãy gọi myFunction()
:
// Create a function
void myFunction() {
cout << "I just got executed!";
}
int main() {
myFunction(); // call the function
return 0;
}
// Outputs
"I just got executed!"
Hãy tự mình thử »Một hàm có thể được gọi nhiều lần:
Ví dụ
void myFunction() {
cout << "I just got executed!\n";
}
int main() {
myFunction();
myFunction();
myFunction();
return 0;
}
//
I just got executed!
// I just got executed!
// I just got executed!
Hãy tự mình thử » Khai báo và định nghĩa hàm
Hàm C++ bao gồm hai phần:
- Khai báo: kiểu trả về, tên hàm và tham số (nếu có)
- Định nghĩa: phần thân của hàm (mã sẽ được thực thi)
void myFunction() { // declaration
//
the body of the function ( definition )
}
Lưu ý: Nếu một hàm do người dùng định nghĩa, chẳng hạn như myFunction()
được khai báo sau hàm main()
thì sẽ xảy ra lỗi :
Ví dụ
int main() {
myFunction();
return 0;
}
void myFunction() {
cout << "I just got executed!";
}
// Error
Hãy tự mình thử »Tuy nhiên, có thể tách phần khai báo và định nghĩa hàm - để tối ưu hóa mã.
Bạn sẽ thường thấy các chương trình C++ có phần khai báo hàm ở trên main()
và định nghĩa hàm ở dưới main()
. Điều này sẽ làm cho mã được tổ chức tốt hơn và dễ đọc hơn:
Ví dụ
// Function declaration
void myFunction();
// The main method
int main() {
myFunction(); // call the function
return 0;
}
// Function definition
void myFunction() {
cout << "I just got executed!";
}
Hãy tự mình thử »