【发布时间】:2013-08-31 05:46:33
【问题描述】:
class A
{
virtual void funcion()
{
//...
}
}
class B:public A
{
//1:virtual void function();
//2:void function();
}
1 和 2 有什么区别?还是一样?
【问题讨论】:
标签: c++
class A
{
virtual void funcion()
{
//...
}
}
class B:public A
{
//1:virtual void function();
//2:void function();
}
1 和 2 有什么区别?还是一样?
【问题讨论】:
标签: c++
它们完全一样。一旦在基类中声明了一个函数virtual,任何从它继承的类也将默认声明该函数virtual。
【讨论】:
它们是一样的。在基类中声明的函数virtual 是virtual,通过继承链。
为了清楚起见,我发现添加 virtual 很有用(通常,这些类不在同一个文件中)。
【讨论】: