问答题
18分
打开考生文件夹proj1下的工程proj1。其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行"// ERROR **********foun...
打开考生文件夹proj1下的工程proj1。其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行"// ERROR **********found**********"下面的一行有错误,请加以更正。更正后程序的运行结果为:s=20
注意:只允许修改每个"// ERROR **********found**********"下面的一行语句,不允许改动程序中的其他任何内容。
注意:只允许修改每个"// ERROR **********found**********"下面的一行语句,不允许改动程序中的其他任何内容。
参考解析: 【参考答案】
(1)n = nn;
(2) a = new int[n];
(3) for(i=0; i<5; i++) s+=x.GetA(i);
【考点分析】
本题考查Xabc类,其中涉及构造函数,动态分配,类成员的访问。
【解题思路】
(1)主要考查考生对构造函数的掌握,构造函数应该是使用参数nn对数据成员n赋值。
(2)主要考查考生对动态分配的掌握,在析构函数中,对a使用delete []释放,所以在构造函数中,需要使用 new [] 动态分配内存。
(3)主要考查考生对类成员访问权限的掌握,首先for循环中重复定义了变量i;另外数组下标从0开始,i应该小于5;最后对象x不能直接访问私有变量a,应该转化为x通过公有成员函数GetA来访问a。