【发布时间】:2011-10-29 05:01:23
【问题描述】:
基类的虚函数的virtual限定符在派生类中有什么区别吗?
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是虚拟的,它就永远是虚拟的,无论您离类层次结构中的基础有多远。
标签: c++