<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                前面幾節你可能已經注意到,fred和area兩個函數功能類似,都是計算圓的面積,但參數不同。area函數需要提供半徑,而fred函數需要兩點的坐標。 如果兩個函數做同樣的事情,給它們起相同的名字是很自然的。換句話說,fred也叫做area會更有意義。 **重載**是指存在多個同名函數,只要每個函數接受的參數不同,在C++中就是合法的。所以我們可以再進一步,重命名fred函數: ~~~ double area (double xc, double yc, double xp, double yp) { return area (distance (xc, yc, xp, yp)); } ~~~ 看起來這像個遞歸函數,其實不然,實際上這一版本的area函數在調用另一個版本的area函數。調用重載函數時,C++可以通過調用者提供的參數來來確定要調用的版本。比如: ~~~ double x = area (3.0); ~~~ C++會尋找名為area且以一個double值為參數的函數,所以這里使用的是area的第一個版本。而對于下面語句: ~~~ double x = area (1.0, 2.0, 4.0, 6.0); ~~~ C++會使用area的第二個版本。 很多內置的C++命令都是已經重載的,也就是說有不同的版本用以接受不同數目或不同類型的參數。 雖然重載是很有用的特性,但使用時一定要小心。使用不當可能讓自己都迷惑了,比如你想調試重載函數的一個版本,卻意外地調用了另一個版本。 實際上,這提醒了我調試的一個基本規則:**一定要確認你正在看的程序版本和就是正在運行的版本!**有時你可能會發現你一點點的修改程序,可是每次程序運行后輸出都是一樣的。這是一個警告信號,因為運行的程序版本并不是你想象的那個。為了證明無誤,每次修改代碼時,貼上一行輸出語句(輸出什么并不重要),以此確認程序的行為確實相應地改變了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看