<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之旅 廣告
                在第9章中,我們定義了Time結構體并寫了一個printTime函數 ~~~ struct Time { int hour, minute; double second; } void printTime(const Time& time) { cout << time.hour << ":" << time.minute << ":" << time.second << endl; } ~~~ 要調用這個函數,我們需要傳遞一個Time對象作為參數。 ~~~ Time currentTime = { 9, 14, 30.0 }; printTime(currentTime); ~~~ 為把printTime轉變為成員函數,第一步要將函數名由printTime改成Time::print。::操作符使結構體名字和函數名分離開,它們同樣表明print函數能在Time結構體上調用。 下一步是消去參數。我們將在對象上調用這個函數,而不是將對象作為實參傳遞給函數。 因此,在函數中,我們不再有一個time參數,取而代之的是**當前對象**,即函數在這個對象上調用。可以使用C++關鍵字this來引用當前對象。 有一件難以理解的事情是,這里的this實際上是一個指向結構的**指針**,而不是結構本身。指針和引用類似,但現在我還不想討論指針使用的細節。我們現在唯一需要的指針操作符是*操作符,它把一個結構體指針轉化成結構體,在如下函數中,我們用它把this的值賦給局部變量time。 ~~~ void Time::print() { Time time = *this; cout << time.hour << ":" << time.minute << ":" << time.second << endl; } ~~~ 當我們把函數轉變成成員函數時,函數的前兩行改變了不少,但是請注意輸出語句完全沒有變化。 為了調用新版的print,我們需要在一個Time對象上調用它: ~~~ Time currentTime = { 9, 14, 30.0 }; currentTime.print(); ~~~ 轉變過程的最后一步是在結構體定義中聲明這一函數: ~~~ struct Time { int hour, minute; double second; void Time::print (); }; ~~~ 除了在行尾有一個分號以外,**函數聲明**看起來很像函數定義的第一行。聲明描述了函數的接口,也即參數數目和類型,以及返回值的類型。 聲明一個函數的同時,也是在向編譯器承諾你將在程序中提供函數定義。這里的定義有時也被稱為函數的**實現**,因為它包含了函數工作的細節。如果你遺漏了定義,或者提供的函數的接口與你承諾的不同,編譯器會抗議的。
                  <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>

                              哎呀哎呀视频在线观看