首页 > 代码库 > C++ virtual函数重写,在继承的时候没有在函数前写virtual关键字也依然是虚函数吗?
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,使程序更加清晰。
C++ virtual函数重写,在继承的时候没有在函数前写virtual关键字也依然是虚函数吗?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。