请使用“答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1,该工程含有一个源程序文件pmj1.cpp。其中每个注释“//ERROR**********found**********”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:

admin2021-02-22  35

问题 请使用“答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1,该工程含有一个源程序文件pmj1.cpp。其中每个注释“//ERROR**********found**********”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
12345678910
注意:只需修改注释“//ERROR**********found**********”的下一行语句,不要改动程序中的其他内容。
#include
usingnamespacestd;
classMyClasS{
public:
MyClass(intlen)
{
array=newint[len];
arraySize=len;
for(inti=0;iarray=i+1;
}
~MyClass()
{
//ERROR**********found**********
deletearray[];
}
voidPrint()const
{
for(inti=0,i//ERROR**********found**********
cin<<<’’;
cout<}
private:
int*array;
intarraySize;
};
intmain()
{
//ERROR**********found**********
MyClassobj;
obj.Print();
return0;
}

选项

答案(1)~MyClass(){delete[]array;} (2)cout<
解析 (1)主要考查考生对动态分配方式的内存释放的掌握,析构函数释放动态分配的数组内存时,应该使用delete[]。
(2)主要考查考生对标准输出流的掌握,输出流的对象使用cout。
(3)主要考查考生对类对象构造的掌握,构造MyClass类对象时,因为类定义中已经定义了构造函数,所以编译器不会生成默认的构造函数,需要显式调用构造函数,根据程序要求,构造函数参数设置为10。
转载请注明原文地址:https://kaotiyun.com/show/C7yp777K
0

最新回复(0)