原文: https://beginnersbook.com/2017/08/cpp-functions/

函数是用于执行特定任务的代码块,例如,假设您正在编写一个大型 C++ 程序,并且在该程序中,您希望多次执行特定任务,例如显示从 1 到 10 的值,为了做到这一点,你必须编写几行代码,每次显示值时都需要重复这些行。另一种方法是在函数内写入这些行,并在每次要显示值时调用该函数。这将使您的代码简单,可读和可重用。

函数的语法

  1. return_type function_name (parameter_list)
  2. {
  3. //C++ Statements
  4. }

让我们举一个简单的例子来理解这个概念。

一个简单的函数示例

  1. #include <iostream>
  2. using namespace std;
  3. /* This function adds two integer values
  4. * and returns the result
  5. */int
  6. sum(int num1, int num2){
  7. int num3 = num1+num2; return num3;
  8. }
  9. int main(){
  10. //Calling the function
  11. cout<<sum(1,99);
  12. return 0;
  13. }

输出:

  1. 100

同样的程序可以这样写:好吧,我正在编写这个程序,让你理解一个关于函数的重要术语,即函数声明。让我们先看看程序,然后在最后讨论函数声明,定义和函数调用。

  1. #include <iostream>
  2. using namespace std;
  3. //Function declaration
  4. int sum(int,int);
  5. //Main function
  6. int main(){
  7. //Calling the function
  8. cout<<sum(1,99);
  9. return 0;
  10. }
  11. /* Function is defined after the main method
  12. */
  13. int sum(int num1, int num2){
  14. int num3 = num1+num2;
  15. return num3;
  16. }

函数声明:你已经看到我用两种方式编写了相同的程序,在第一个程序中我没有任何函数声明,在第二个程序中我在程序开头有函数声明。问题是,当您在程序中的main()函数之前定义函数时,您不需要执行函数声明,但如果您在main()函数之后编写函数,就像我们在第二个程序中那样,那么您需要先声明函数,否则会出现编译错误。

函数声明的语法:

  1. return_type function_name(parameter_list);

注意:在提供parameter_list时,您可以避免参数名称,就像我在上面的示例中所做的那样。我给了int sum(int,int);而不是int sum(int num1,int num2);

函数定义:编写函数的全部称为定义函数。

函数定义语法:

  1. return_type function_name(parameter_list) {
  2. //Statements inside function
  3. }

调用函数:我们可以像这样调用函数:

  1. function_name(parameters);

现在我们已经理解了函数的工作原理,让我们看看 C++ 中的函数类型。

函数类型

我们在 C++中有两种类型的函数:

C   中的函数 - 图1

1)内置函数

2)用户定义的函数

1)内置函数

内置函数也称为库函数。我们不需要声明和定义这些函数,因为它们已经在 C++ 库中编写,例如iostreamcmath等。我们可以在需要时直接调用它们。

示例:C++ 内置函数示例

这里我们使用内置函数pow(x, y),它是xy次幂。此函数在cmath头文件中声明,因此我们使用#include指令将该文件包含在我们的程序中。

  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. int main(){
  5. /* Calling the built-in function
  6. * pow(x, y) which is x to the power y
  7. * We are directly calling this function
  8. */
  9. cout<<pow(2,5);
  10. return 0;
  11. }

输出:

  1. 32

2)用户定义的函数

C   中的函数 - 图2

我们已经看过用户定义的函数,我们在本教程开头给出的示例是用户定义函数的示例。我们在程序中声明和编写的函数是用户定义的函数。让我们看另一个用户定义函数的例子。

用户定义的函数

  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4. //Declaring the function sum
  5. int sum(int,int);
  6. int main(){
  7. int x, y;
  8. cout<<"enter first number: ";
  9. cin>> x;
  10. cout<<"enter second number: ";
  11. cin>>y;
  12. cout<<"Sum of these two :"<<sum(x,y);
  13. return 0;
  14. }
  15. //Defining the function sum
  16. int sum(int a, int b) {
  17. int c = a+b;
  18. return c;
  19. }

输出:

  1. enter first number: 22
  2. enter second number: 19
  3. Sum of these two :41