Ngôn ngữ lập trình C++
Tin Học Cho Mọi Người • 39
Để gọi một hàm, bạn viết tên của hàm theo sau là cặp dấu ngoặc đơn () và dấu chấm phẩy ;
Trong ví dụ sau, hàm sayHello() được biên soạn là để in một câu chào. Và trong phần main() lịnh
sayHello() là để gọi nó.
Ví dụ: #include
using namespace std;
void sayHello() { cout << "Hello everyone! Have a good day!\n"; }
int main() { sayHello(); return 0; }
Kết quả: Hello everyone! Have a good day!
Một hàm có thể được gọi nhiều lần.
Ví dụ: #include
using namespace std;
void sayHello() { cout << "Hello everyone! Have a good day!\n"; }
int main() { sayHello(); sayHello(); return 0; }
Kết quả: Hello everyone! Have a good day!Hello everyone! Have a good day!
3. Khai báo và định nghĩa hàm
Hàm C++ bao gồm hai phần:
- Declaration: Khai báo: tên, loại trả về và tham số của hàm (nếu có)
- Definition: Định nghĩa: nội dung của hàm (mã sẽ được thực thi)
Cú pháp:
void sayHello() // khai báo
{ cout << "Hello everyone! Have a good day!\n"; } // định nghĩa
Ví dụ: #include
using namespace std;
void sayHello() // khai báo
{ cout << "Hello everyone! Have a good day!\n"; } // định nghĩa
int main() { for (int i = 1; i <= 2; i++)
{ cout << i << ": "; sayHello(); } return 0; }
Kết quả: 1: Hello everyone! Have a good day!2: Hello everyone! Have a good day!
Lưu ý: Nếu hàm người dùng khai báo và định nghĩa, lại được bố trí sau hàm main(), lỗi sẽ xảy ra,
bởi C++ hoạt động từ trên xuống dưới, nếu hàm không được khai báo trên (trước) dòng main(),
chương trình sẽ không biết gì về nó:
Ví dụ: #include
using namespace std;
int main() { sayHello(); return 0; } // main chưa gặp sayHello
void sayHello() // sayHello khai báo sau main()
{ cout << "Hello everyone! Have a good day!\n"; }
Kết quả: error: 'sayHello' was not declared in this scope
Tuy nhiên, có thể tách khai báo và định nghĩa của hàm - để tối ưu hóa khối mã.