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

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

ID:41709365

大小:37.00 KB

页数:6页

时间:2019-08-30

2012年计算机二级C++第五套上机模拟试题及答案解析_第1页
2012年计算机二级C++第五套上机模拟试题及答案解析_第2页
2012年计算机二级C++第五套上机模拟试题及答案解析_第3页
2012年计算机二级C++第五套上机模拟试题及答案解析_第4页
2012年计算机二级C++第五套上机模拟试题及答案解析_第5页
资源描述:

《2012年计算机二级C++第五套上机模拟试题及答案解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2012年计算机二级C++第五套上机模拟试题及答案解析一、改错题  使用VC6打开考生文件夹下的工程kt10_1,此工程包含一个源程序文件kt10_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为:  classBase  classD1  classD2  classD3  finBase  源程序文件kt10_1.cpp清单如下:  #include  classBase  {public:  Base(){cout<<"classBase"<  voidf(){cout<<"fi

2、nBase"<  classD1:virtualpublicBase  {public:  D1(){cout<<"classD1"<  voidf(){cout<<"finD1"<  /**********found**********/  classD2:publicBase  {public:  D2(){cout<<"classD2"<  /**********found**********/  classD3::publicD1,publicD2  {public:  D3(){cout<<"cl

3、assD3"<  voidmain()  {D3d;  /**********found**********/  d.f();}  【参考答案】  (1)将classD2:publicBase  改为:classD2:virtualpublicBase  (2)将classD3::publicD1,publicD2  改为:classD3:publicD1,publicD2  (3)将d.f();改为:d.Base::f();  【试题解析】  (1)主要考查对虚基类的理解,虚基类可以解决二义性的问题,其定

4、义方式是在继承列表中使用virtual关键字,使用虚基类可以避免程序运行中对基类函数调用的不惟一;  (2)主要考查对类的定义方法的掌握,“::”为作用域符,此处应该使用“:”,因为后面是继承列表;  (3)主要考查对虚基类函数调用过程的理解,只有使用"::"限定才能访问基类函数,否则将会调用自身的函数,如果该类没有该函数的定义,则会自动调用其父类的该函数,所以必须使用“::”符号。二、简单应用题  请编写一个函数inlinelongsum(intn),用递归函数完成运算:sum(n)=1*1+2*2+??

5、?+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<<"结果为:"<

6、um(intn)  {if(n==1)  return1;  elsereturnn*n+sum(n-1);}  【试题解析】  本题考查对递归函数掌握的熟练程度。递归的终止条件为n=1时,值为1。三、综合应用题  使用VC6打开考生文件夹下的工程kt10_3,此工程包含一个源程序文件kt10_3.cpp,其中定义了用于表示雇员信息的CEmployee类与表示公司信息的Company类,但这两个类的定义并不完整。请按要求完成下列操作。  (1)定义Cemployee类的私有数据成员name(大小为50的字符

7、数组)和pay(double型数据),分别用于记录雇员姓名和月薪。请在注释“//**1**”之后添加适当的语句。  (2)完成Company类默认构造函数的定义,该构造函数将n值赋值给私有成员num,并完成指针emp所指的n个Cemployee对象空间的申请,请在注释“//**2**”之后添加适当的语句。  (3)完成Company类成员函数voidCompany::add(intcode,charname[50],doublepay)的定义,该函数将某一雇员的编号code、姓名name及月薪pay输入到公

8、司信息中。请在注释“//**3**”之后添加适当的语句。  (4)完成Company类成员函数voidCompany::print()的定义,使其以"_ispaid_RMBforonemonth"的格式输出公司内所有员工的月薪信息。请在注释“//**4**”之后添加适当的语句。  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。  源程序清单如下:  #include  #include  class

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。