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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ##沒有躲過的坑--抽象類不能實例化對象(但是你明明定義的不是抽象類) 今天在開發過程中遇到了一個錯誤:不能實例化抽象類 這個錯誤完全是自己疏忽大意造成的。 首先我們知道,一個類如果是抽象類,我們就不能用這個類實例化一個對象。 什么樣的類是抽象類呢?? C++沒有C Sharp中的關鍵字abstract,但是當一個類中有一個或多個純虛函數的時候,這個類就自動成為了抽象類,即不可以實例化。 純虛函數是一種特殊的虛函數,在許多情況下,在基類中不能對虛函數給出有意義的實現,而把它聲明為純虛函數,它的實現留給該基類的派生類去做。這就是純虛函數的作用。 在實際開發中,很多時候你都需要繼承別人的類,或是同事寫的類,或是一些開源庫中的類。 也許是為了追求效率,我們很難認真閱讀你要繼承的基類,或者說你只關心基類中你需要的幾個方法。 這個時候,就存在錯誤的風險。也許父類中有一個純虛函數你完全不關系,用不到,你就會大搖大擺的忽略它。 但是它不會忽略你,記住:? **如果你的抽象類的派生類有任何一個純虛函數沒有實現,那么不管其他做的再多,這個類仍然是一個抽象類。** 所以用到你定義的子類實例化對象時候,會產生上述的錯誤。 好在編譯器能夠幫助我們,以至于可以及時改正。 所以,在繼承一個類的時候,要確保實現了所有這個基類的純虛函數。 ~~~ //基類: classA { public: A(); virtual ~A(); void f1(); virtual void f2(); virtual void f3()=0; }; //子類: classB:publicA { public: B(); virtual ~B(); void f1(); virtual void f2(); virtual void f3(); }; ~~~
                  <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>

                              哎呀哎呀视频在线观看