请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行”//ERROR *********found*********下面的一行有错误,请加以更正。 更正后程序的输出为:

admin2019-03-24  24

问题 请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行”//ERROR *********found*********下面的一行有错误,请加以更正。
    更正后程序的输出为:57
    注意:只允许修改每个”//ERROR *********found*********下面的一行语句,不允许改动程序中的其他任何内容。
#include
using namespace std;
class Xabc{
    int*a;int n ;
  public:
    Xabc(int aa[],int nn):n(nn)(
    a=new int[n];
    for(int i=0;i  //ERROR *****found*****
    aa=a
    }
    int GetA(int i)const (return a,}
    int SurnA(int n);
    ~xabc()(delete[]a;}
};
int Xabc::SumA(int n){
    int s=0;
    for(int j=0;j    s+=a[j];
    return s;
}
int main(){
  int a[6]={2,5,8,3,6,9);
  Xabc x(a,6),
  a[3]=19;
  int d=0;
  for(int i=0;i<6;i++)
  //ERROR *****found*****
    d+=x.a
  //ERROR *****found*****
    int f=SumA(5),
    cout<    return 0;
}

选项

答案(1)a[i]=aa[i]; (2)d+=x.GetA(i); (3)int f=x.SumA(5);

解析 (1)Xabe的构造函数需要使用形参aa为成员指针a赋值.函数体中,首先动态分配n个连续的整型变量的内存空间,并将内存空间的首地址赋给a。然后通过for循环。使用数组aa为a的n个元素的赋值。
    (2)x是类Xabc的对象,成员a在定义时没有指定访问标号,默认为private成员,所以这里不能通过x对象直接访问a,应该通过公有成员函数GetA()来访问。
    (3)sumA()函数是类Xabc的公有成员函数,需要通过对象来引用,而不能直接引用。
转载请注明原文地址:https://jikaoti.com/ti/m3t0FFFM
0

最新回复(0)