在浏览一些旧代码时,我遇到了类似于以下内容的内容:
class Base
{
public:
virtual int Func();
...
};
class Derived : public Base
{
public:
int Func(); // Missing 'virtual' qualifier
...
};
代码编译良好(MS VS2008),没有警告(级别 4),它按预期工作 -Func
即使派生类中缺少虚拟限定符,它也是虚拟的。现在,除了引起一些混乱之外,这段代码是否有任何危险,或者我应该全部更改,添加virtual
限定符?