详细说明C++中的C++函数

开发 后端
C++函数是C++程序的主要组成部分,一个函数可以调用其他函数。在设计良好的程序中,每个函数都有特定的目的。。

在C++语言中,定义C++函数是通过一张虚函数表来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,希望大家能够学习参考。。

新术语 函数(function)是与主程序分开的码段,进行预定的一个服务。函数是各种编程语言的重要部分,C++也不例外。最简单的函数不带参数,返回void(表示不返回任何东西)。

其它函数可能带一个或几个参数并可能返回一个值。函数名规则与变量名相同。图1.5显示了函数的构成部分。新术语 参数(parameter)是传递给函数的值,用于改变操作或指示操作程度。

  1. result = multiply(2,5);//passing literal values   
  2.  
  3. result = multiply(x,y); //passing variables   
  4.  
  5. showResult(multiply(x,y));   
  6.  
  7. //return value used as a   
  8.  
  9. //parameter for another function   
  10.  
  11. multiply(x,y);//return value ignored  

这个程序的11到14行用标准输入流cin向用户取两个数字,第15行调用C++函数将两个数相乘,第16行调用showResult()函数显示相乘的结果。注意主程序前面第5和第6行multiply()和showResult()函数的原型声明。

原型中只列出了返回类型、函数名和函数参数的数据类型。这是函数声明的最基本要求。函数原型中还可以包含用于建档函数功能的变量名。例如,multiply()函数的函数声明可以写成如下:int multiply(int firstNumber,int secondNumber);这里函数multiply()的作用很明显,但代码既可通过说明也可通过代码本身建档。

注意清单1.4中函数multiply()的定义(22到25行)在主函数定义码段(8到20行)之外。C++函数定义中包含实际的函数体。这里的函数体是最基本的,因为函数只是将函数的两个参数相乘并返回结果。清单1.4中函数multiply()可以用多种方法调用,可以传递变量、直接数或其它函数调用的结果:

  1. int main(void); // same as above   
  2.  
  3. int main(int argc,char** argv);   
  4.  
  5. void main();   
  6.  
  7. void main(int argc, char** argv);  

注意 最后一例中没有使用返回值。本例中调用函数multiply()而不用返回值没什么道理,但C++编程中经常忽略返回值。有许多函数是先进行特定动作再返回一个数值,表示函数调用的状态。有时返回值与程序无关,可以忽略不计。

如果将返回值忽略,则只是放弃这个值,而不会有别的危害。例如,前面的样本程序中忽略了getch()函数的返回值(返回所按键的ASCII值)。函数可以调用其它函数,甚至可以调用自己,这种调用称为递归(recursion)。

这在C++函数中是个较复杂的问题,这里先不介绍。新术语 递归(recursion)就是函数调用自己的过程。本节介绍的函数指的是C或C++程序中的独立函数(独立函数不是类的成员)。C++中的独立函数可以和C语言中一样使用,但C++函数进一步深化,将在稍后介绍C++时介绍。

【编辑推荐】

  1. 简介学习C++总结之谈
  2. C++库函数进行学习探索总结笔记
  3. C++类库设计的基本构思与方法
  4. C++语言真的还有市场价值?
  5. C++类库设计的基本构思与方法
责任编辑:chenqingxiang 来源: 计世网
相关推荐

2010-01-28 11:08:09

C++变量

2010-01-19 09:54:19

C++代码

2010-01-26 10:42:26

C++函数

2010-01-13 13:27:00

C++优化

2010-01-11 15:47:37

C++编译

2010-01-08 16:10:59

C++语言

2010-01-28 13:27:12

C++类定义

2010-01-27 17:16:52

C++构造函数

2010-01-11 09:56:07

C++编程实例

2011-07-20 17:16:50

C++重载函数

2010-01-12 15:46:29

测试C++ Test

2010-01-18 13:54:28

函数

2011-07-20 15:58:53

C++引用

2011-07-20 17:54:02

C++

2010-01-26 14:23:50

C++类

2010-01-14 17:42:47

CC++

2010-01-27 16:05:06

C++堆栈

2010-01-21 09:34:57

C++语法

2020-09-28 08:12:59

CC++时间

2010-01-21 14:07:14

CC++声明
点赞
收藏

51CTO技术栈公众号