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

admin2019-04-24  23

问题 请打开考生文件夹下的解决方案文件proj1,该工程中含有一个源程序文件proj1.cpp。其中位于每个注释“//ERROR****found****”之后的一行语句有错误。请改正这些错误,使程序的输出结果为:
    注意:只能修改注释“//ERROR****found****”的下一行语句,不要改动程序中的其他内容。
    1  //proj1.cpp
    2  #include
    3  using namespace std;
    4
    5  class Myclass{
    6  public:
    7    Myclass(int len)
    8    {
    9    array=new int[len];
    10    arraySize=len;
    11    for(int i=0;i    12    array=i+1;
    13    }
    14
    15    ~Myclass()
    16    {
    17    //ERROR  ********found********
    18  delete array
    19    }
    20
    21    void Print()const
    22    {
    23    for(int i=0 ; i    24    //ERROR ********found********
    25    cin<<<";
    26
    27    cout<    28    }
    29  private:
    30    int*array:
    3l    int arraySize;
    32  };
    33  int main()
    34    {
    35    //ERROR  ********found********
    36    MyClass obj;
    37    obj.Print();
    38    return 0 ;
    39  }

选项

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

最新回复(0)