#include<iostream>
using namespace std;
class B
{public:
~B 1{cout<<"B construct"<<endl;}
virtual void f 2=0;
};
class Dev: public B
{public:
~Dev 3{cout<<"B construct"<<endl;}
virtual void f 4{cout<<"Dev::f"<<endl;}
};
void main 5
{ B*=a=new B 6;
Dev p;
a =&p;
a->f 7;
}
  • 1、
【正确答案】 1、B*a=new B ---|||________|||---;语句有错,应改B*a;    
【答案解析】 抽象类不能实例化,但可以声明指针或引用,所以不能用new,因为new会产生临时对象,所以应改为B*a。