请问关于dynamic_cast的问题!
请问下面的程序,我编译连接都通过了,就是执行有错误,提示说pc没有初始化,但是我改成C* pc = new C,就编译连接都通不过了。是怎么回事呢?
#include <iostream>
using namespace std;
class A
{
public:
virtual void f();
};
class B : public A
{
public:
virtual void f();
};
class C : public B
{
public:
virtual void f();
};
void main()
{
C* pc;
B* pb = dynamic_cast <B*> (pc);
}
[解决办法]
你虚函数都没有实现,当然无法创建C的实例。