问答题

#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产生临时对象。......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)