请打开考生文件夹下的解决方案文件projl,该工程中含有一个源程序文件projl.cpp。其中位于每个注释“//ERROR **** found ****”之后的一行语句有错误。请改正这些错误,使程序的输出结果为: 1 2 3 4 5 6 7

admin2021-09-05  34

问题 请打开考生文件夹下的解决方案文件projl,该工程中含有一个源程序文件projl.cpp。其中位于每个注释“//ERROR  **** found ****”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:
1  2  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;
      }

选项

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

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

最新回复(0)