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