• 37.00 KB
  • 2022-03-29 发布

2012年计算机二级C++第五套上机模拟试题及答案解析

  • 6页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
2012年计算机二级C++第五套上机模拟试题及答案解析一、改错题  使用VC6打开考生文件夹下的工程kt10_1,此工程包含一个源程序文件kt10_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为:  classBase  classD1  classD2  classD3  finBase  源程序文件kt10_1.cpp清单如下:  #include  classBase  {public:  Base(){cout<<"classBase"<  voidf(){cout<<"finBase"<  classD1:virtualpublicBase  {public:  D1(){cout<<"classD1"<  voidf(){cout<<"finD1"<  /**********found**********/  classD2:publicBase  {public:n  D2(){cout<<"classD2"<  /**********found**********/  classD3::publicD1,publicD2  {public:  D3(){cout<<"classD3"<  voidmain()  {D3d;  /**********found**********/  d.f();}  【参考答案】  (1)将classD2:publicBase  改为:classD2:virtualpublicBase  (2)将classD3::publicD1,publicD2  改为:classD3:publicD1,publicD2  (3)将d.f();改为:d.Base::f();  【试题解析】  (1)主要考查对虚基类的理解,虚基类可以解决二义性的问题,其定义方式是在继承列表中使用virtual关键字,使用虚基类可以避免程序运行中对基类函数调用的不惟一;  (2)主要考查对类的定义方法的掌握,“::”为作用域符,此处应该使用“:”,因为后面是继承列表;  (3)主要考查对虚基类函数调用过程的理解,只有使用"::"限定才能访问基类函数,否则将会调用自身的函数,如果该类没有该函数的定义,则会自动调用其父类的该函数,所以必须使用“::”符号。n二、简单应用题  请编写一个函数inlinelongsum(intn),用递归函数完成运算:sum(n)=1*1+2*2+???+n*n,递归表达式为sum(n)=sum(n-1)+n2。  注意:部分源程序已存在文件kt10_2.cpp中。  请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。  文件kt10_2.cpp的内容如下:  #include  inlinelongsum(intn)  {  }  voidmain()  {intn;  cout<<"输入n:";  cin>>n;  cout<<"结果为:"<getname(c);  money=(emp+i)->getpay();  cout<  {Companycom(2);n  com.add(0,"Jack",200);  com.add(1,"Lee",300);  com.print();}  【参考答案】  (1)charname[50];  doublepay;  (2)num=n;  emp=newCEmployee[num];  (3)(emp+code)->putname(name);  (emp+code)->putpay(pay);  (4)charc[50];  doublemoney;  【试题解析】  本题考查类成员的定义、类成员函数的定义与调用、对象数组的使用。注意指针和动态申请空间new的使用方法。使用指针调用成员应该用"->"符号,new的返回值是指针类型的。

相关文档