1. 程式人生 > 其它 >跟著做的C++20教程-例項14-函式

跟著做的C++20教程-例項14-函式

技術標籤:跟著做的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;
}