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

admin2019-05-22  36

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,该工程中含有一个源程序文件proj1.cpp。
其中位于每个注释“//ERROR****found****”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:
12345678910
注意:只能修改注释“//ERROR****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#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;
}

选项

答案delete[]array; cout<
解析 (1)语法错误,使用delete语句删除一个指针时,直接把指针变量的名称放在delete[]后面即可。
(2)考查考生对输入、输出语句的运用。使用COUt进行数据输出操作,一般格式为:COUt<>var;。其中,var代表一个变量,“>>”称为提取运算符,该语句的含义是,将用户输入的数据保存到var中。
(3)考查语句的初始化,我们来看MyClass类的构造函数:
MyClass(intlen)
{
array=newint[len];//给数组动
态分配空间,大小为len
arraysize=len;//赋值
for(inti=0;iarray=i+1;//循环给数组赋
值,从1到10
}
请注意:形参len没有定义默认值,因此要想使array动态数组里依次存放1,2,3,4,5,6,7,8,9,10,就是要给len赋值为10。
转载请注明原文地址:https://kaotiyun.com/show/1b8p777K
0

最新回复(0)