C++ virtual函數重寫,在繼承的時候沒有在函數前寫virtual關鍵字也依然是虛函數嗎?


 

  比如:

 1 class Base
 2 {
 3     Base() {};
 4     ~Base() {};
 5     virtual void Init();
 6 };
 7 
 8 class Derived:public Base
 9 {
10     virtual void Init();//virtual是必須的嗎?
11 };

  答案:c++規定,當一個成員函數被聲明為虛函數后,其派生類中的同名函數都自動成為虛函數。因此,在子類重新聲明該虛函數時,可以加,也可以不加,但習慣上每一層聲明函數時都加virtual,使程序更加清晰。


免責聲明!

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



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