一个函数是一个序列的设计做一个特定工作表。你已经知道,每个程序都必须有一个功能叫做main()。然而,大多数程序有许多功能,和他们所有的工作类似于主。
通常,你的程序需要打断它是什么做的临时做其他的事情。你在现实生活中所有的时间。例如,你可能读一本书时,你记得你需要打一个电话。你把一个书签在你的书中,打电话,当你完成的电话,你回到你的书你离开的地方了。
C++程序的工作方式相同。一个程序将执行语句顺序在一个函数在遇到函数调用时。一个函数调用是一个表达式,告诉CPU中断当前的功能和执行另一个函数。该CPU”把书签”在当前执行点,然后调用(执行)在函数调用中指定的功能。当调用函数终止,该CPU回到点的书签,并继续执行。
下面是一个示例程序,展示了如何新函数的声明和调用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//#include <stdafx.h> // Visual Studio users need to uncomment this line
#include <iostream>
// Declaration of function DoPrint()
void DoPrint()
{
using namespace std; // we need this in each function that uses cout and endl
cout << "In DoPrint()" << endl;
}
// Declaration of main()
int main()
{
using namespace std; // we need this in each function that uses cout and endl
cout << "Starting main()" << endl;
DoPrint(); // This is a function call to DoPrint()
cout << "Ending main()" << endl;
return 0;
}
该程序产生的输出如下:
从main()
在doprint()
结束main()
这个程序开始执行在main()顶部,和第一行被执行打印起始main()。在主要的第二行是一个函数调用doprint。在这一点上,main()语句执行暂停,和CPU跳doprint()。第一个(也是唯一的)在doprint打印在doprint()线。当doprint()终止,调用者(main())继续执行它离开的地方。因此,在主要的打印结束main()执行下一个语句。
函数可以被多次调用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//#include <stdafx.h> // Visual Studio users need to uncomment this line
#include <iostream>
// Declaration of function DoPrint()
void
DoPrint()
{
using
namespace
std;
cout <<
"In DoPrint()"
<< endl;
}
// Declaration of main()
int
main()
{
using
namespace
std;
cout <<
"Starting main()"
<< endl;
DoPrint();
// This is a function call to DoPrint()
DoPrint();
// This is a function call to DoPrint()
DoPrint();
// This is a function call to DoPrint()
cout <<
"Ending main()"
<< endl;
return
0;
}
|