<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                兩張牌要相等的話,必須花色和大小都相同。十分不幸,“==”操作符不能用于像Card這種用戶定義類型,所以我們需要自己編寫一個比較兩張牌的函數,即equals函數。也可以通過重寫“==”操作符的定義實現此功能,不過本書不做介紹了。 很明確,equals函數的返回值應該是布爾類型,用以說明兩張牌是否相等。同樣可以明確的是,該函數需要有兩個Card類型的參數。但是我們還要做出一個選擇,那就是應該把equals設計成成員函數還是獨立函數? 將equals設計為成員函數,代碼如下: ~~~ bool Card::equals (const Card& c2) const { return (rank == c2.rank && suit == c2.suit); } ~~~ 使用這個函數時,必須通過一個對象來調用,而把另一個對象當做參數: ~~~ Card card1 (1, 11); Card card2 (1, 11); if (card1.equals(card2)) { cout << "Yup, that’s the same card." << endl; } ~~~ 在我看來,像equals這樣兩個參數對稱的函數,這樣調用看起來很奇怪。對稱是指, 以“A是否等于B”或者“B是否等于A”兩種方式提問,其實沒什么關系。既然如此,我想以非成員函數的方式重寫equals函數更好: ~~~ bool equals (const Card& c1, const Card& c2) { return (c1.rank == c2.rank && c1.suit == c2.suit); } ~~~ 調用這個版本的函數時,參數并肩出現,至少在我看來這樣邏輯上更有意義。 ~~~ if (equals (card1, card2)) { cout << "Yup, that’s the same card." << endl; } ~~~ 當然,這就是口味的問題了。我的觀點是,不管成員函數版本還是非成員函數版本,讀者都要能熟練編寫,所以能根據條件選擇最合適的版本。
                  <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>

                              哎呀哎呀视频在线观看