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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 使用方法 * 在基類用virtual聲明成員函數為虛函數。這樣就可以在派生類中重新定義此函數,為它賦予新的功能,并能方便地被調用。在類外定義虛函數時,不必再加virtual。 * 在派生類中重新定義此函數,要求函數名、函數類型、函數參數個數和類型全部與基類的虛函數相同,并根據派生類的需要重新定義函數體。 * 當一個成員函數被聲明為虛函數后,其派生類中的同名函數都自動成為虛函數,派生類重新聲明該虛函數時,可以加virtual,也可以不加。 * 派生類中沒有對基類的虛函數重新定義,則派生類簡單地繼承其直接基類的虛函數。 * 定義一個指向基類對象的指針變量,并使它指向同一類族中需要調用該函數的對象。通過該指針變量調用此虛函數,此時調用的就是指針變量指向的對象的同名函數。 # 聲明格式 ~~~ virtual 返回類型 函數名(形參列表); ~~~ # 作用 * 允許在派生類中重新定義與基類同名的函數,并且可以通過**基類指針**或**引用**來訪問基類和派生類中的同名函數。 * 同一類族中不同類的對象,對同一函數調用作出不同的響應。 # 虛函數與重載的區別 * 涵數重載處理的是同一層次上的同名函數問題,是橫向重載 * 虛函數處理的是不同派生層次上的同名函數問題,是縱向重載 * 同一類族的虛函數的首部是相同的,而函數重載時函數的首部是不同的(參數個數或類型不同)。 # 注意 * 只能用virtual聲明類的成員函數,使它成為虛函數,而不能將類外的普通函數聲明為虛函數。 * 一個成員函數被聲明為虛函數后,在同一類族中的類就不能再定義一個非virtual的但與該虛函數具有相同的參數(包括個數和類型)和函數返回值類型的同名函數。 * 如果該類會成為基類,且有成員函數在被繼承后,需要修改功能 * 如果是通過基類指針或引用去訪問的,則應當聲明為虛函數 # 虛表指針 * 當一個類帶有虛函數時,編譯系統會為該類構造一個虛函數表,它是一個指針數組,存放每個虛函數的入口地址。 * 而每當用多態類創建一個對象時,編譯器就會自動生成一個虛表指針 * 由構造函數正確對其初始化,使其指向該對象所屬類的虛函數表,最后將它放置在該多態類對象結構的開頭。 * 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>

                              哎呀哎呀视频在线观看