[Bài 23] Khai Báo Nguyên Mẫu Hàm

[Bài 23] Khai Báo Nguyên Mẫu Hàm

Khai báo nguyên mẫu hàm - Function Prototype giúp người đọc code của bạn có thể nhanh chóng nhận biết số lượng hàm được xây dựng trong chương trình và các thông tin liên quan của hàm đó.

Nguyên Mẫu Hàm

Khai báo nguyên mẫu hàm nhằm cung cấp các thông tin của hàm cho trình biên dịch bao gồm 

  • Kiểu trả về của hàm
  • Tên hàm
  • Số lượng tham số của hàm
  • Dánh sách kiểu dữ liệu của các tham số 

Ví dụ

Ví dụ 1 : 

#include <iostream>

using namespace std;

//function prototype
void greet();
int tong(int, int, int);
long long solve(int, long long);

void greet() {
cout << "azbook.org\n";
}

int tong(int a, int b, int c) {
return a + b + c;
}

long long solve(int a, long long b) {
return 2 * a + 3 * b;
}

int main() {
greet();
cout << tong(10, 20, 30) << endl;
cout << solve(10, 20);
return 0;

}

 

Output :

azbook.org
60
80

 

Ví dụ 2 : Chương trình bị lỗi biên dịch khi xây dựng hàm không đúng thứ tự

#include <iostream>

using namespace std;

void B() {
cout << "azbook blog\n";
A();

}

void A() {
cout << "azbook\n";
}

int main() {
B();
return 0;

}

 

Giải thích : 

Ví dụ trong chương trình dưới trên, hàm B() gọi hàm A() thì hàm A() cần xây dựng trước hàm B(). Nếu không thì chương trình sẽ bị lỗi biên dịch, điều tương tự xảy ra khi bạn gọi các hàm trong hàm main thì cần xây dựng các hàm này bên trên hàm main. 

Khi sử dụng khai báo nguyên mẫu hàm bạn có thể tùy ý gọi các hàm trong chương trình mà không cần xét đến thứ tự.

Ví dụ 3 : 

#include <iostream>

using namespace std;

//function prototype
void A();
void B();

void B() {
cout << "azbook blog\n";
A();

}

void A() {
cout << "azbook\n";
}

int main() {
B();
return 0;

}

 

Output :

azbook blog
azbook

Lập trình C++ cơ bản