用编程术语来说, function 函数是执行特定任务的语句块,函数接受数据,对其进行处理并返回输出,编写函数主要是为了支持可重用性的概念。编写函数后,就可以轻松调用它,而不必一次又一次地编写相同的代码。
函数的一般语法如下-
returnType functionName(type1 argument1, type2 argument2, . . . ) { //learnfk function body }
让我们举一个示例来了解如何使用C ++(一种面向对象的编程语言)定义函数,以下代码具有一个将两个数字相加并提供其输出作为输出的函数。
#include <stdio.h> int addNum(int a, int b); //function prototype int main() { int sum; sum = addNum(5,6); //function call printf("sum=%d",sum); return 0; } int addNum (int a,int b) { //function definition int result; result = a + b; return result; //return statement }
它将产生以下输出-
Sum=11
让我们看看如何在Erlang(一种函数编程语言)中定义相同的函数。
-module(helloworld). -export([add/2,start/0]). add(A,B) -> C = A + B, io:fwrite("~w~n",[C]). start() -> add(5,6).
它将产生以下输出-
11
函数原型是函数的声明,包括返回类型,函数名称和参数列表,它类似于没有函数体的函数定义。
例如一些编程语言支持函数原型,而有些则不。
在C ++中,我们可以像这样使函数" sum"的函数原型-
int sum(int a, int b)
注意-Python,Erlang等编程语言不支持函数原型,我们需要声明完整的函数。
调用函数时,编译器将使用函数原型,编译器使用它来确保正确的返回类型,正确的参数列表被传入以及它们的返回类型正确。
来源:LearnFk无涯教程网
函数签名类似于函数原型,在函数原型中,参数的数量,参数的数据类型和出现的顺序应相似。例如-
void Sum(int a, int b, int c); //function 1 void Sum(float a, float b, float c); //function 2 void Sum(float a, float b, float c); //function 3
Function1和Function2具有不同的参数签名, Function2和Function3具有相同的参数签名。
注意 - 我们将在后续章节中讨论的函数重载和函数重载基于函数签名的概念。
当一个类具有名称相同但参数签名不同的多个函数时,可能会导致函数重载。
当子类函数的名称和参数签名与其父类相同时,可以重写函数。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)