读书人

请教关于dynamic_cast的有关问题

发布时间: 2012-02-09 18:22:27 作者: rapoo

请问关于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的实例。

读书人网 >C++

热点推荐