📄 functionabc.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="css/stdlayout.css" type="text/css">
<link rel="stylesheet" href="css/print.css" type="text/css">
<meta content="text/html; charset=gb2312" http-equiv="content-type">
<title>函式简介</title>
</head>
<body>
<h3><a href="http://caterpillar.onlyfun.net/GossipCN/index.html">From
Gossip@caterpillar</a></h3>
<h1><a href="CppGossip.html">C++
Gossip: 函式简介</a></h1>
到目前为止都只使用一个函式(Function),也就是main()主函式,将所有的程式写在主函式中只适合一些小程式,如果您的程式比较大,您会发现
到有某些程式码会经常使用,而由于撰写在同一个主函式中的关系,这些程式码会一再被重覆的撰写,对于程式中出现两次以上被重覆使用的程式片段,您可以将之
定义为函式以便重覆呼叫。<br>
<br>
函式用来将程式组织为一个小的、独立的运行单元,一个函式可以接受资料,并运行其中的算法,最后将结果传回。<br>
<br>
在C++中函式的组成主要包括四个部份:返回值、函式名称、参数列与函式主体。前三者被称为函式宣告或函式原型(Function
prototype),在C++中规定函式被呼叫之前,必须先作宣告的动作,否则会出现编译错误,函式原型描述的是函式的介面,通常宣告在一个独立的表头
档中,而被含入每一个想要呼叫函式的档案中,以下是一个函式宣告的范例:<br>
<ul>
<li>math.h</li>
</ul>
<pre>int pow2(int); <br>int pow(int, int);</pre>
<br>
在C++中如果呼叫函式不传回任何值,则宣告为void,若不传入任何引数,则参数列保持空白即可,虽然您也可以使用void来加以注明,不过这是多此一
举,事实上,使用void注明参数列不使用其实是C的风格,而在C++中,参数列的空白即表示这个函式不接受任何参数。表头档案被储存为.h档案,接着您
可以根据函式原型来实作函式主体,例如:<br>
<ul>
<li>math.cpp</li>
</ul>
<pre>#include "math.h"<br><br>int pow2(int num) { <br> return num*num; <br>} <br><br>int pow(int n, int p) { <br> int r = 1; <br><br> for(int i = 0; i < p; i++) <br> r *= n;<br> <br> return r; <br>}</pre>
<br>
在含入表头档案时,如果表头档案与含入表头档的文件在同一个目录下,那么就使用双引号""来包括表头档案名称,如果是标准或专案专属的表头档,例如C++
的标准表头档,那么则使用角括号<>来括住,编译器在寻找时就会从所设定的目录中开始寻找。<br>
<br>
接着您可以在含入表头档后,直接呼叫所定义的函式,例如:<br>
<ul>
<li>main.cpp</li>
</ul>
<pre>#include <iostream><br>#include "math.h"<br>using namespace std;<br><br>int main() {<br> int num = 0;<br> int power = 0; <br><br> cout << "输入数值:"; <br> cin >> num; <br><br> cout << "输入平方:"; <br> cin >> power; <br><br> cout << num << " 平方:" <br> << pow2(num) << endl; <br> cout << num << " 的" << power << "次方:" <br> << pow(num, power) <br> << endl; <br><br> return 0;<br>}</pre>
<br>
<span class="postbody">
执行结果:</span><br>
<table style="text-align: left; width: 100%;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="background-color: rgb(0, 0, 0);"><small><span
style="color: rgb(255, 255, 255);">输入数值:10<br>
输入平方:3<br>
0 平方:100<br>
0 的3次方:1000</span></small><span style="color: rgb(255, 255, 255);"><br>
</span></td>
</tr>
</tbody>
</table>
<br>
在编译时期,编译器会对被呼叫函式作检查,如果无法根据函式名称、提供的引数型态与函式宣告上参数型态来决定被呼叫的函式,则会出现编译错误,这就是必须
先作函式宣告的原因,这对编译器的检查工作是必要的资料。<br>
<br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -