回覆列表
  • 1 # pietr49411

    C++中虛擬函式的作用:

    1、簡單地說,那些被virtual關鍵字修飾的成員函式,就是虛擬函式。

    2、實現多型性,多型性是將介面與實現進行分離。

    3、當基類指標指向一個子類物件,透過這個指標呼叫子類和基類同名成員函式的時候,基類宣告為虛擬函式就會調子類的這個函式,不宣告就會呼叫基類的。C++中虛擬函式的用法:1、比如你有個遊戲,遊戲裡有個虛基類叫「怪物」,有純虛擬函式 「攻擊」。2、派生出了三個子類「狼」「蜘蛛」「蟒蛇」,都實現了自己不同的「攻擊」函式,比如狼是咬人,蜘蛛是吐絲,蟒蛇把你纏起來。使用虛擬函式的注意事項:1、包含虛擬函式的類指標列表會增大。2、虛解構函式(1)解構函式的作用是在物件撤銷之前做必要的“清理現場”的工作。(2)當派生類的物件從記憶體中撤銷的時候,會先先呼叫派生類的解構函式然後再呼叫基類的解構函式。(3)當我們new一個臨時物件時,若基類中包含解構函式,並且定義了一個指向該基類的指標變數。3、建構函式不能宣告為虛擬函式建構函式不能宣告為虛擬函式。如果宣告為虛擬函式,編譯器會自動報出。

    4、不在析構或者構造過程中呼叫虛擬函式在解構函式或者是建構函式中,我們絕對不能呼叫虛擬函式。即使,我們在建構函式或者解構函式中呼叫虛擬函式,也不會下降至派生類中呼叫函式。

  • 中秋節和大豐收的關聯?
  • 瀏覽器被劫持,應該怎麼辦?