学习C++函数时相关注意事宜
C++中的C++函数是数学中的一种对应关系,是从非空数集A到实数集B的对应,简单地说,A随着C变,那么A就是C的函数,对应法则和定义域是函数领域中的两个主要要素。
C++函数是与主程序分开的码段。这些码段在程序中需要进行特定动作时调用(执行)。例如,函数可能取两个值并对其进行复杂的数学运算。
1: #include <iostream.h> 2: #include <conio.h> 3: #pragma hdrstop 4: 5: int multiply(int,int) 6: void showResult(int); 7: 8:int main(int argc,char **argv); 9:{ 10: int x,y,result; 11: cout << end1 << "Enter the first value:"; 12: cin >> x; 13: cout << "Enter the second value: "; 14: cin >> y; 15: result=multiply(x,y); 16: showResult(result); 17: cout << end1 << end1 << "Press any key to continue..."; 18: getch(); 19: return 0 20: } 21:
然后返回结果,函数可能取一个字串进行分析,然后返回分析字串的一部分。新术语 函数(function)是与主程序分开的码段,进行预定的一个服务。函数是各种编程语言的重要部分,C++也不例外。最简单的函数不带参数,返回void(表示不返回任何东西),其它函数可能带一个或几个参数并可能返回一个值。
函数名规则与变量名相同。图1.5显示了函数的构成部分。新术语 参数(parameter)是传递给函数的值,用于改变操作或指示操作程度。 函数声明或原型(prototype)告诉编译器函数所取的参数个数、每个参数的数据类型和函数返回值的数据类型。
清单1.4列示了这个概念。新术语 原型(prototype)是函数外观的声明或其定义的说明。 这个程序的11到14行用标准输入流cin向用户取两个数字,第15行调用multiply()函数将两个数相乘,第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()可以用多种方法调用,可以传递变量、直接数或其它函数调用的结果:
注意 最后一例中没有使用返回值。本例中调用函数multiply()而不用返回值没什么道理,但C++编程中经常忽略返回值。有许多函数是先进行特定动作再返回一个数值,表示函数调用的状态。有时返回值与程序无关,可以忽略不计。