Pal*_*han 3 c++ virtual inheritance
当我有这样的事情:
class A
{
virtual void rat();
};
class B : public A
{
virtual void rat() { ; } //implemented!
};
int main(int argc, char **argv)
{
A *a = new B;
delete a;
}
Run Code Online (Sandbox Code Playgroud)
我收到链接器错误:
除非我让基础老鼠变成纯粹的虚拟.
但是,当我有这个:
class A
{
public:
void rat();
};
int main(int argc, char **argv)
{
A a;
}
Run Code Online (Sandbox Code Playgroud)
这编译很好,并没有给我一个未定义的引用链接错误,除非我明确尝试在我的main(a.rat();)中调用鼠函数.未实现的基类虚函数的规则是什么,然而,如在第一个失败的代码片段中那样在派生类中实现?
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |