1案例分析题1 / 3
改错题
使用VC6打开考生文件夹下的工程kt6_1,此工程包含一个源程序文件kt6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
Constructor2
Constructor1
i=0
i=10
Destructor
源程序文件kt6_1.cpp清单如下:
#include
classCSample
{
inti;
public:
CSample(){cout<<"Constructor1"<< p>
CSample(intval){cout<<"Constructor2"<< p>
~CSample(){cout<<"Destructor"<<ENDL;}< p>
voiddisp();
};
/**********found**********/
voiddisp()
{cout<<"i="<<I<<ENDL;}< p>
voidmain()
{
CSample*a,b(10);
/**********found**********/
a->disp();
/**********found**********/
b->disp();
}
使用VC6打开考生文件夹下的工程kt6_1,此工程包含一个源程序文件kt6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
Constructor2
Constructor1
i=0
i=10
Destructor
源程序文件kt6_1.cpp清单如下:
#include
classCSample
{
inti;
public:
CSample(){cout<<"Constructor1"<< p>
CSample(intval){cout<<"Constructor2"<< p>
~CSample(){cout<<"Destructor"<<ENDL;}< p>
voiddisp();
};
/**********found**********/
voiddisp()
{cout<<"i="<<I<<ENDL;}< p>
voidmain()
{
CSample*a,b(10);
/**********found**********/
a->disp();
/**********found**********/
b->disp();
}
查看答案
(1)将void disp()
改为:void CSample::disp()
(2)将a->disp();
改为:a=new CSample; a->disp();
(3)将b->disp();
改为:b.disp();
改为:void CSample::disp()
(2)将a->disp();
改为:a=new CSample; a->disp();
(3)将b->disp();
改为:b.disp();