比如:
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,使程序更加清晰。