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

admin2017-02-21  19

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

选项

答案delete[]array; cout<<array[i]<<"; MyClass obj(10);

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

最新回复(0)