基类的虚函数的虚拟限定符在派生类中是否有区别?
class b
{
public:
virtual void foo(){}
};
class d : public b
{
public:
void foo(){ .... }
};
或者
class d : public b
{
public:
virtual void foo(){ .... }
};
这两个声明除了使d的子代意识到foo()的虚假性之外,是否还有其他区别?
最佳答案
没什么区别。 foo
在从b(及其后代)派生的所有类中都是虚拟的。
根据C++ 03标准§10.3.2:
关于c++ - 派生类中的虚拟限定词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7098054/