问答题
#include <iostream.h>
class Bas
{ public:
~Bas() {cout<<"Bas construct"<<endl; }
virtual void f()=0;
};
class Dev:public Bas
public:
~Dev() { cout<<"Bas construct"<<endl; }
virtual void f() { cout<<"Dev::f"<<endl; }
};
void main ()
{ Bas *a=new Bas();
Dev p;
a=&p;
a->f();
【参考答案】
Bas *a=new Bas(); 抽象类不能被实例化,但可以声明指针或引用,所以不能用new,因为new产生临时对象。......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)