首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

2013年计算机二级C++上机模拟试题五(附答案)(2)

2013-03-02 

  参考答案

  一、

  【参考答案】

  (1)将class D2:public Base

  改为:class D2:virtual public Base

  (2)将class D3::public D1,public D2

  改为:class D3:public D1,public D2

  (3)将d.f();改为:d.Base::f();

  【试题解析】

  (1)主要考查对虚基类的理解,虚基类可以解决二义性的问题,其定义方式是在继承列表中使用virtual关键字,使用虚基类可以避免程序运行中对基类函数调用的不惟一;

  (2)主要考查对类的定义方法的掌握,“::”为作用域符,此处应该使用“:”,因为后面是继承列表;

  (3)主要考查对虚基类函数调用过程的理解,只有使用"::"限定才能访问基类函数,否则将会调用自身的函数,如果该类没有该函数的定义,则会自动调用其父类的该函数,所以必须使用“::”符号。

  二、

  【参考答案】

  inline long sum(int n)

  { if(n==1)

  return 1;

  else return n*n+sum(n-1); }

  【试题解析】

  本题考查对递归函数掌握的熟练程度。递归的终止条件为n=1 时,值为1。

  三、

  【参考答案】

  (1)char name[50];

  double pay;

  (2)num=n;

  emp=new CEmployee[num];

  (3)(emp+code)->putname(name);

  (emp+code)->putpay(pay);

  (4)char c[50];

  double money;

  【试题解析】

  本题考查类成员的定义、类成员函数的定义与调用、对象数组的使用。注意指针和动态申请空间new的使用方法。使用指针调用成员应该用"->"符号,new的返回值是指针类型的。


热点排行