kiểu_dữ_liệu tên_hàm(danh_sách_tham_số) { Thân hàm; } |
- kiểu_dữ_liệu: là kiểu dữ liệu mà hàm trả về.
- tên_hàm: là tên của hàm, do người lập trình đặt. Tên hàm không được chứa kí tự đặc biệt, không được bắt đầu bằng số.
- danh_sách_tham_số: là danh sách các tham số dùng như các biến cục bộ. Nếu có nhiều tham số, thì chúng sẽ được phân tách theo các dấu phẩy.
- Thân hàm: là nội dung mà người lập trình xây dựng nên.
Ví dụ | Kết quả |
#include int add(int a, int b) { return a+b; } int main() { cout< return 0; } | 3 |
Cách khai báo hàm trong ví dụ trên được gọi là khai báo trực tiếp. Chúng ta cũng còn một cách khai báo hàm gián tiếp nữa, mà ta thường gọi là khai báo hàm prototype như sau:
Ví dụ | Kết quả |
#include int add(int a, int b); int main() { cout< return 0; } int add(int a, int b) { return a+b; } | 3 |
- Bạn có thể không quan tâm đến thứ tự khai báo hàm. Nếu bạn không sử dụng khai báo prototype, thì hàm khai báo sau mới được phép gọi hàm khai báo trước nó. Điều ngược lại là không được phép. Nhưng đối với khai báo prototype thì bạn hoàn toàn không cần quan tâm đến điều này.
- Bạn có thể tách phần khai báo prototype và đặt nó vào trong một tập tin mới, thường là tập tin tiêu đề .h (mà bạn tự đặt tên), phần thân hàm lại chứa trong một tệp khác, thường là .cpp hoặc trong chính tệp chứa chương trình chính. Cách làm này giúp chương trình của bạn sáng sủa hơn rất nhiều. Trong các dự án lập trình lớn, người ta thường phân tách theo dạng này. Chúng ta sẽ xét ví dụ minh họa sau.
Trong ví dụ minh họa này, dự án của tôi gồm có hai tệp: tieude.h để chứa khai báo prototype và main.cpp để chứa thân hàm và hàm main.
Đối với Codeblocks, bạn hãy thực hiện theo các bước sau:
- Tạo mới một dự án C++ và lưu lại. Trong dự án này, mặc định Codeblocks sẽ tạo cho bạn một tệp main.cpp.
- Vào New > File > chọn C/C++ header. Sau đó, bạn hãy chọn vị trí để lưu trữ tệp tiêu đề (thông thường, bạn nên tạo các cấu trúc thư mục khác nhau để lưu tệp .h cũng như tệp .cpp như tôi đã trình bày ở trên).
Đối với Eclipse, bạn thực hiện như sau:
- Kích chuột phải vào thư mục cần đặt tệp .h, chọn New > Header File.
- Kích chuột phải vào thư mục cần đặt tệp .cpp, chọn New > Source File.
Tệp tieude.h | Tệp main.cpp |
#ifndef TIEUDE_H_INCLUDED #define TIEUDE_H_INCLUDED int sum(int, int); void showmsg(void); #endif // TIEUDE_H_INCLUDED | #include using namespace std; int main() { showmsg(); return 0; } void showmsg(){ cout< } int sum(int a, int b){ return a+b; } |
Lưu ý:
- Khi sử dụng khai báo prototype trên các tập tin .h, bạn cần lưu ý, nếu dự án của bạn có sử dụng namespace, ví dụ std, bạn chỉ có thể sử dụng cú pháp truy cập std:: mà không được sử dụng using namespace std trong tệp .h này.
- Nếu tệp .cpp và tệp .h nằm trong cùng thư mục, thì phần #include trong tệp cpp có thể viết tên tệp tiêu đề trong dấu “”. Nếu chúng không nằm trong cùng thư mục, bạn cần chỉ đường dẫn tương đối cho nó. Ví dụ tệp headers.h nằm trong thư mục headers và tệp Main.cpp nằm trong thư mục cpps. Nếu tệp headers.h là tệp tiêu đề của tệp Main.cpp, bạn cần include nó trong Main.cpp. Giả sử headers và cpps nằm trong cùng thư mục src. Khi đó, trong tệp Main.cpp, bạn khai báo include như sau: #include”../headers/headers.h”. Trong đó, dấu ../ để dịch lùi một mức trong cấu trúc cây thư mục (dịch lùi từ thư mục headers một mức chính là thư mục src), sau đó là headers/headers.h.
No comments:
Post a Comment