这可能以前已经回答过,但我找不到单词。
我试图将我的头脑围绕在继承中C++
,但来自C#
我似乎无法理解以下案例背后的原因:
Foo.h
class Foo {
virtual void DoSomething();
}
class Bar : Foo { }
Bar.cpp
#include "Foo.h"
void Bar::DoSomething()
{
//Compiler error C2509 - member function not declared in 'Bar'
}
既然DoSomething
是一个纯虚函数,难道不应该将它隐式声明为 的一部分Bar
吗?
如果我有很多不同的类继承自Foo
,我真的需要DoSomething
在每个类中显式声明吗?
C++
处理这种情况还有哪些其他构造?