// This program has two functions: main and displayMessage. #include <iostream> using namespace std; // Function prototype void displayMessage(); //mian函數 int main() { cout << "Hello from main.n"; displayMessage(); // Call.displayMessage cout << "Now we are back in the main function again. n"; return 0; } void displayMessage() { cout << "Hello from the displayMessage function.n"; }此程式中 displayMessage 函數的原型為:
void displayMessage();
這個原型看起來類似於函數頭,只不過最後有一個分號。該語句告訴編譯器,函數 displayMessage 不使用形參,並且具有 void 返回型別,這意味著它不返回值。// This program has two functions: main and displayMessage. #include <iostream> using namespace std; void displayMessage() { cout << "Hello from the displayMessage function.n"; } //mian函數 int main() { cout << "Hello from main.n"; displayMessage(); // Call.displayMessage cout << "Now we are back in the main function again. n"; return 0; }有些程式設計師更喜歡使用這種組織結構,將 main 函數放在最後面。但是,絕大多數程式設計師還是認為,對於除 main 之外的其他函數來說,使用一個原型語句將它放置在 main 前面更加方便。特別是在一個程式中包含許多函數,而這些函數又呼叫其他函數的情況下,這樣處理好處更大。
注意,在呼叫函數之前,必須放置函數定義或使用函數原型,否則程式將無法編譯。
在使用函數原型之後,實際上的函數定義語句就可以隨意放置而不必擔心順序問題了。只要將原型語句放置在程式頂部,緊隨在using namespace std;
語句之後即可,這樣做將確保它們在 main 或其他函數之前被識別。