还是父类指针和子类对象的问题
#include <iostream.h>
class a{
public:
virtual void print(){cout<<"Class A"<<endl;}
};
class b:public a{
public:
virtual void print(){cout<<"Class B"<<endl;}
};
class c:public a{
public:
virtual void print(){cout<<"Class C"<<endl;}
};
void main(){
a * pa;
a thea;
b theb;
c thec;
pa = &thea;
pa->print();
delete pa;
pa = &theb;//父类指针指向子类对象
pa->print();
delete pa;
pa = &thec;//父类指针指向子类对象
pa->print();
delete pa;
}
运行结果:Class A 然后就出错;请高手指教。