【发布时间】:2013-05-21 18:44:38
【问题描述】:
以下有错误
错误 LNK2001:无法解析的外部符号“public: virtual void __thiscall C::Foo(void)”(?Foo@C@@UAEXXZ)
所以基本上C::Test() 不能自动继承B::Test() 的实现,我们必须每次都用 C++ 显式编写它?
class A
{
public:
virtual void Foo()=0;
virtual void Test()=0;
};
class B: public A
{
public:
virtual void Foo();
virtual void Test()=0;
};
void B::Foo()
{
}
class C: public B
{
public:
void Foo();
void Test();
};
void C::Test()
{
}
【问题讨论】:
-
至少一个派生类必须实现在基类中声明的纯虚函数。
标签: c++ inheritance virtual