跟著做的C++20教程-例項14-函式
阿新 • • 發佈:2021-02-12
技術標籤:跟著做的C++20教程c++
目錄
例項概要
函式的定義和使用
例項程式碼
#include <iostream>
int add(int, int);//這是函式宣告
int main(int argc, char* argv[])
{
auto a = 0;
auto b = 0;
std::cout << "請輸入兩個整數,用空格分開,按Enter確認:";
std::cin >> a;
std::cin >> b;
auto aAddb = add (a, b);
std::cout << std::endl;
std::cout << "兩個數的和是:" << aAddb << std::endl;
return 0;
}
int add(int x, int y) //這是函式的定義
{
int sum = 0;
sum = x + y;
return sum;
}
執行結果
我輸入的兩個整數是 3 和 4
請輸入兩個整數,用空格分開,按Enter確認:3 4
兩個數的和是:7
例項解釋
- 函式
在C++標準文件中,函式被成為function。其含義是完成特定功能的一段程式碼。翻譯成中文有的文件中叫“函式”,有的文件中叫“方程”。我這就叫“函式”了。 - 函式的宣告
C++中有兩個重要的概念,一個叫宣告(declaration),另一個叫定義(definition)。宣告是告訴你有這麼個東西,定義是告訴你這東西到底是什麼。
例項中int add(int x, int y);
是一個函式申明,它只是告訴你有這樣一個函式,而並沒有告訴你這個函式是什麼(這個函式的功能是什麼)。 - 函式宣告的格式
本篇只介紹最基本的格式:返回值型別 函式名(引數列表)
。還有一些更復雜的今後會再介紹。
返回值型別
告訴你函式的返回值是什麼型別,例項中返回的是int
。
函式名
與變數名作用相同,就是個名字。
引數列表
用來說明這個函式需要從外界獲取多少變數,每個變數的型別。例項中是兩個變數,兩個變數的型別都是int - 函式定義
函式定義是實現函式的功能,內容與編寫mian
函式沒有任何卻別,唯一的區別在於return
不會導致程式結束,而是返回被呼叫的地方。 - return
return
用於函式結束,並指明函式的返回值。如例項中return sum
表明函式將sum的值返回。 - 函式的呼叫
宣告和定義函式後,便可以呼叫函數了。
例項中auto aAddb = add(a, b);
便是對函式的呼叫,呼叫格式接返回值的變數 = 函式名(函式需要的變數)
。
接返回值的變數
會儲存函式的返回值,如果不在乎函式的返回值也可以不寫,呼叫函式就變成這樣函式名(函式需要的變數)
。 - 函式宣告 呼叫 和定義的順序
函式的宣告必須在呼叫前,因為只有知道有這麼東西后才可以呼叫。函式的定義可以在呼叫前也可以在呼叫後。
如果定義在呼叫前可以免去宣告,因為宣告是為了讓你知道有這麼個東西,如果已經都定義了你肯定知道有這麼個東西。所以例項程式碼可以改為:
#include <iostream>
int add(int x, int y) //這是函式的定義,把定義放在前面就不需要聲明瞭
{
int sum = 0;
sum = x + y;
return sum;
}
int main(int argc, char* argv[])
{
auto a = 0;
auto b = 0;
std::cout << "請輸入兩個整數,用空格分開,按Enter確認:";
std::cin >> a;
std::cin >> b;
auto aAddb = add(a, b);
std::cout << "兩個數的和是:" << aAddb << std::endl;
return 0;
}