虚拟限定符到派生类中的基类虚拟函数是否有区别?派生类中的虚拟限定符
class b
{
public:
virtual void foo(){}
};
class d : public b
{
public:
void foo(){ .... }
};
或
class d : public b
{
public:
virtual void foo(){ .... }
};
有没有在这两个声明的任何区别,除了它使d的孩子做意识到FOO的虚拟性()?
afaik,如果其他东西从d类派生出来,它会有所作为 –
@Kshitij:不,即使那样也没有什么区别。一旦“foo”是虚拟的,它永远是虚拟的,无论你离开类层次结构的底层多远。 – Nawaz