使用VC6打开考生文件夹下的工程test7_1,此工程包含一个源程序文件test7_1.cpp,但该程序运行有问

20 查阅

使用VC6打开考生文件夹下的工程test7_1,此工程包含一个源程序文件test7_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

Constructor1

Constructor1

Constructor1

Destructor

Constructor2

Destructor

x=0

x=5

Destructor

Destructor

源程序文件test1_1.cpp清单如下:

include<iostream.h>

class B

{

int X;

public:

B(){X=0;cout<<"Constructorl"<<endl;}

B(int i){x=i;cout<<"Constructor2"<<endl;}

~B(){cout<<"Destructor"<<endl;}

/**********found*********/

~B(int i){cout<<i<<"be Destructor"<<endl;}

void print(){cout<<"x="<<x<<endl;}

};

void main()

{

B *ptr;

ptr=new B[2];

/**********found*********/

ptr[0]=B(0);

ptr[1]=B(5);

/**********found********/

for(int i=0; i<2;)

ptr[i].print();

delete []ptr;

}

参考答案:

(1)错误:~B(int i){cout"be Destructor"endl;} 正确:应将其删除(2)错误:ptr[0]=B(0); 正确:ptr[0]=B();(3)错误:for(int=0;i2;) 正确:for(int i=0;i2;i++)(1)错误:~B(int i){cout"be Destructor"endl;} 正确:应将其删除(2)错误:ptr[0]=B(0); 正确:ptr[0]=B();(3)错误:for(int=0;i

计算机二级