C++ 函数原型

C++ 函数原型

函数原型是对函数的声明,它向程序提供关于参数的数量和类型,以及函数将返回的值的类型的信息。 C++函数中非常有用的一个方面是函数原型。函数原型提供了关于参数的数量和类型以及返回值类型的信息,以向编译器解释函数接口。

原型声明与函数定义完全相似,唯一的区别是它没有函数体或代码。此时,您已经意识到语句和定义之间的区别。

定义是一个声明,也告诉程序函数在做什么以及如何做,而不是仅仅引入一个(函数)名称给程序。因此,上面的示例是函数定义,而后面的示例是声明,或者也可以称为函数原型:

int valAbs ( int x ) ;
int greatcd ( int a1 , int a2 ) ;

因此,函数原型的组成部分如下所示:

  • 返回类型
  • 函数名称
  • 参数列表

让我们看看以下函数的原型:

int add ( int a1 , int a2 ) ;

在这里,

  • 返回类型 – int
  • 函数名称 – add
  • 参数列表 – (int a1, int a2)

由于每个函数原型后面都有分号,最终会有一个分号,就像前面的函数原型一样。

注意:虽然函数定义不能省略参数名,但函数声明可以省略。

Void的使用

如您所知,void数据类型用作不返回值的函数的返回类型,并描述了一个空的值集合。因此,不返回值的函数的声明如下:

void func_name ( parameter x ) ;

通过定义函数的返回类型为void,可以确保该函数不能在赋值语句中使用。

注意:如果一个函数不返回任何值,请将结果类型声明为void。

如果一个函数没有参数并且有一个空的参数列表,可以按照以下方式定义该函数:

return_type func_name ( void ) ;

注意:如果一个函数没有接受任何参数,那么在函数的原型中应该声明为void类型。

正如已经注意到的,如果函数的类型说明符被省略,那么假定它会返回int类型的值。对于返回非整数值的函数,必须提供类型说明符。

函数原型可以在调用函数的定义之前或之后存在(这些原型被称为全局原型)(这些原型被称为局部原型)。C++范围规则教程有一个单独的教程,介绍了全局和局部原型。

让我们来看一下C++中函数原型的一个示例:

# include < iostream >
using namespace std ; 
// function prototype
void divide ( int , int ) ; 
int main ( ) {
    // calling the function before declaration.
    divide ( 10 , 2 ) ;
    return 0 ;
}
// defining function
void divide ( int a , int b ) {
    cout < < ( a / b ) ;
}

输出:

5
???.
Process executed in 0.11 seconds
Press any key continue.

解释

在上面的例子中,原型是:

void divide ( int , int ) ; 

在C++中,函数原型特性允许我们在声明之前调用函数,因为在上面的例子中,编译器会提供有关函数名称和参数的信息。

另一个例子以更好地理解为例:

# include < iostream >
using namespace std ;
// Function prototype
void best_site ( ) ; //using function with void return type 
int main ( ) {
    best_site ( ) ;
    return 0 ;
}
Void best_site ( ) {
    cout < < " Welcome to JavaTpoint " ;
}

输出:

Welcome to JavaTpoint
?????????????.
Process executed 0.22 seconds
Press any key to continue.

说明

上面的代码中的函数返回类型为void,因此它不返回任何内容。我们已经对函数进行了原型建模,调用了函数,然后声明了它,结果,我们得到了一个没有错误的输出。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程