📄 overloadedfunction.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>重载函式(Overloaded function)</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: 重载函式(Overloaded function)</a></h1>
C++支援函式“重载”(Overload),这种机制为类似功能的函式提供了统一的名称,但是根据参数列个数或型态的不同,而自动呼叫对应的函式,函式
过载的功能使得程式设计人员能较少苦恼于函式名称的设计,以统一的名称来呼叫相同功能但实际提供的资料不同的函式,例如依参数列个数的不同来重载:<br>
<br>
<pre>#include <iostream> <br>using namespace std; <br><br>void showpara(int); <br>void showpara(int, int); <br><br>int main() { <br><br> showpara(10); <br> showpara(20, 30); <br><br> return 0; <br>} <br><br>void showpara(int x) { <br> cout << "引数:" << x <br> << endl; <br>} <br><br>void showpara(int x, int y) { <br> cout << "引数:" << x <br> << "\t" << y <br> << endl; <br>}</pre>
<span class="postbody"><br>
执行结果:</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>
引数:20 30</span></small><span
style="color: rgb(255, 255, 255);"><br>
</span></td>
</tr>
</tbody>
</table>
<br>
也可以根据参数的型态来决定要呼叫的函式,例如:<br>
<br>
<pre>#include <iostream> <br>using namespace std; <br><br>void showpara(int); <br>void showpara(double); <br><br>int main() { <br><br> showpara(10); <br> showpara(10.0); <br><br> return 0; <br>} <br><br>void showpara(int x) { <br> cout << "int 引数:" << x <br> << endl; <br>} <br><br>void showpara(double x) { <br> cout << "double 引数:" << x <br> << endl; <br>} </pre>
<span class="postbody">
</span><span class="postbody"><br>
执行结果:</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);">int 引数:10<br>
double 引数:10</span></small><span style="color: rgb(255, 255, 255);"><br>
</span></td>
</tr>
</tbody>
</table>
<br>
函式过载时可以根据函式参数列的参数资料型态,也可以根据参数的个数,或是两个的结合,但要注意的是,返回值型态不能用作判断函式重载的依据。<br>
<br>
<br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -