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

admin2017-07-05  27

问题 请使用VC6或使用【答题】菜单打开考生文件夹projl下的工程proj1,该工程中含有一个源程序文件proj1.epp。其中位于每个注释“//ERROR****found****”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:12 3 4 5 6 7 8 9 10
  注意:只能修改注释“//ERROR****found****”的下一行语句,不要改动程序中的其他内容。
//proj1.cpp
#include<iostream>
using namespace std;
class MyClass{
public:
  MyClass(int len)
  {
    array=new int[len];
    arraySize=len;
    for(int i=0;i<arraySize;i++)
    array=i+1;
    }
    一MyClass()
    {
//ERROR**********found**********
    delete array
    )
    void Print()const
    {
    for(int i=0;i<arraySize;i++)
//ERROR**********found*********
  cin<<array<<”;
  Cout<<endl;
    }
private:
  int*array;
  int arraySize;
  );
  int main()
  {
  //ERROR**********found**********
MyClass obj;
obj.Print();
return 0;
}

选项

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

最新回复(0)