C++中虛函數使用和詳解


虛函數是什么:

virtual + 函數 : 這樣的函數是虛函數 ,該函數和普通函數沒有啥區別,就是虛函數的地址放在虛函數表中(虛函數表在基類部分首部),實現動態綁定。基類和派生類的虛函數,函數名,參數類型,參數數量必須相同

虛函數功能是什么:

派生類繼承基類的相關函數,這些函數的功能需要重新定義,但是基類和派生類調用起來不方便,常用的方式是在基類函數前加上virtual關鍵字則派生類中定義的該函數(函數名,參數類型,參數數量相同)也是虛函數。然后調用相關方法。

虛函數表:

Class A{

public:

  virtual void function();

  virtual void functionb();

  int a;

  int b;

}

Class B : public Class A

{

  public:

    virtural void function();

    int c;

    

}

Class C:public Class B

{

  public:

    virtual void functionb();

}

A,B,C三個類的虛函數表如下:

虛函數的動態綁定:

  對象經過編譯器編譯后,虛函數表中保存虛函數的地址,當對象調用虛函數的時候,會到虛函數表(基類中)中找到相應的虛函數,實行動態綁定。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM