⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultargument.html

📁 关于 C++ 的历史无须我来介绍了
💻 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:&nbsp;预设引数</a></h1>

<br>

C++允许您使用预设引数,预设引数的使用在一开始的函式原型宣告中进行定义,而之后的函式定义则无需再宣告,来看个实际例子:<br>

<br>

<pre>#include &lt;iostream&gt; <br>using namespace std; <br><br>double area(double, double = 3.14); <br><br>int main() { <br>    double r, pi; <br><br>    cout &lt;&lt; "输入半径与PI: "; <br>    cin &gt;&gt; r &gt;&gt; pi; <br><br>    cout &lt;&lt; "面积(自订PI): " &lt;&lt; area(r, pi)<br>         &lt;&lt; endl; <br>    cout &lt;&lt; "面积(default): " &lt;&lt; area(r) <br>         &lt;&lt; endl;<br>    <br>    return 0; <br>} <br><br>double area(double r, double pi) { <br>    return r*r*pi; <br>}<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);">输入半径与PI: 3 3.14159<br>

面积(自订PI): 28.2743<br>

面积(default): 28.26</span></small><span style="color: rgb(255, 255, 255);"><br>

      </span></td>

    </tr>

  
  </tbody>
</table>

<br>

在上面的程式中,area()函式将参数pi的预设值设定为3.14,在不指定第二个引数时,area()将会自动使用预设引数,使得pi设定为
3.14,如果指定pi值的话,则就以使用者的指定来设定pi值。 <br>

<br>

您可以指定两个以上的预设引数,然而必须注意的是,预设引数一旦出现在参数列,则其右边的参数也必须设定预设引数,所以在使用预设引数时,必须注意引数列
的配置顺序,例如下面的宣告是错误的: <br>

<div style="margin-left: 40px;"><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">double volumn(double h
= 1.0, double w = 1.0, double l);</span><br>

</div>

<br>

而必须是以下才是正确的:<br>

<div style="margin-left: 40px;"><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">double volumn(double l,
double w = 1.0, double h = 1.0);</span><br>

</div>

<br>

如果程式中有两个以上的预设引数,则在程式呼叫时就必须注意,因为预设引数的使用是以引数的顺序由左至右来进行的,例如若有个函式宣告如下: <br>

<div style="margin-left: 40px;"><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">bool setScreen(int
width = 80, int height = 24, char bkcolor = ' ');</span><br>

</div>

<br>

则在呼叫函式时,若使用setScreen('R');,则其作用相当于setScreen('R', 24, '
');而不是setScreen(80, 24, 'R');,而呼叫时使用setScreen(, ,
'R');这个方法则是错误的,所以预设引数的介面是必须小心设计的。 <br>

<br>

<br>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -