1. class ABC
{int a; public:
ABC(int aa)a(aa){} };
2. #include 
void init(int i,int j){zx=i;zy=j;} Aton(int i,int j,int n=0,int m=0) {X=i,Y=j,zx=m,zy=n; } };
void main()
{Aton A(25,20,3,5); A.init(5,9);
cout< 3. #include  ~Bas(){cout<<\virtual void f()=0; };  class Dev:public Bas {public:  ~Dev(){cout<<\virtual void f(){cout<<\};  void main()  {Bas *a=new Bas(); Dev p; a=&p; a->f(); }  4. 以下程序实现交换a,b变量的值,请用下横线标出错误所在行并给出修改意见。 #include  void main() {int a=19,b=15;  cout<<\swap(&a,&b);  cout<<\}  5. #include  void main() {int i(3),j(8); int * const p=&i; cout<<*p< cout<<*p< 四、完成程序题(本大题共5小题,每小题4分,共20分)  1. 在下面程序横线处填上适当内容,使程序执行结果为:\。  #include  char * pdata; mystring(int len)  {pdata=new char[len+1]; }  ~mystring() {delete pdata;}  void show(){cout< void fun(mystring** array,int len) {mystring*old=*array; _______;  memcpy(*array, old, len); }  void main()  {mystring str(20); mystring*pstr=&str; mystring**ppstr=&pstr;  strcpy(str.pdata,\fun(ppstr, 20); _______ }  2. 在下面程序横线处填上适当字句,完成类的定义。 class line; class box { private: int color; int upx, upy; int lowx, lowy; public: _________  void set_color (int c){color=c;}  void define_box (int x1, int y1, int x2, int y2) {upx=x1;upy=y1;lowx=x2;lowy=y2;} };  class line  { private: int color;  int startx, starty; int endx, endy; public:  friend int same_color(line l,box b); void set_color (int c) {color=c;} void define_line (___________)  {startx=x1;starty=y1;endx=x2;endy=y2;} };  int same_color(line l, box b) {if (l.color==b.color) return 1; return 0; }  3. 下面程序用来求直角三角形斜边长度。 #include  Point(double i=0,double j=0) {x=i;y=j;}  Point(Point &p) {x=p.x;y=p.y;} };  class Line {private: Point p1,p2; public:  Line(Point &xp1,Point &xp2):________{} double GetLength(); };  double Line::GetLength() {double dx=p2.x-p1.x; double dy=p2.y-p1.y;  return sqrt(dx*dx+dy*dy); }  void main()  { Point p1,p2(6,8); Line L1(p1,p2);  cout< 4. 在下面程序的底画线处填上适当的字句,使该程序执行结果为40。 #include  Test (int i=0)  {x=i+x;} int Getnum()  {return Test::x+7;} };  _______; void main() {Test test;  cout< 5. 在下列程序的空格处填上适当的字句,使输出为:0,2,10。 #include  Magic(double d=0.00):x(fabs(d)) {}  Magic operator+(______) {  return Magic(sqrt(x*x+c.x*c.x)); }  _______operator<<(ostream & stream,Magic & c) { stream< void main() {Magic ma;  cout< 五、程序分析题(本大题共2小题,每小题5分,共10分) 1. 运行程序,写出程序执行的结果。  #include  cin>>a>>ch>>b>>c;//从键盘上输入1.5×c×10×20,×表示一个空格 cout< 2. 给出下面程序输出结果。 #include  {cout<<\virtual ~A()  {cout<<\virtual void f()  {cout<<\