就业数据资源平台
当前位置:首页 > C++语言程序设计
2010年全国计算机等级考试二级C++模拟试题及答案(10)

  二、简单应用题
  编写类AA的成员函数intCompare(AAb),该函数用于比较*this与b的大小,若两者含有元素的个数n相同,并且数组中前n个元素值对应相同,则认为两者相等返回1,否则返回0。注意:用数组方式及for循环来实现该函数。输出结果如下:
  a=b
  a<>c
  注意:部分源程序已存在文件kt2_2.cpp中。
  请勿修改主函数main和其他函数中的任何内容,仅在函数Compare的花括号中填写若干语句。
  文件kt2_2.cpp的内容如下:
  #include
  #include
  classAA{
  int*a;
  intn;
  intMS;
  public:
  voidInitAA(intaa[],intnn,intms)
  {
  if(nn>ms)
  {\cout<<"Error!"<
  exit(1);}
  MS=ms;
  n=nn;
  a=newint[MS];
  for(inti=0;i
  }
  intCompare(AAb);
  };
  intAA::Compare(AAb)
  {
  }


  voidmain()
  {AAa,b,c;
  intx[]={1,2,3,4,5};
  inty[]={1,2,3,6,7};
  intz[]={1,2,5,7,9};
  a.InitAA(x,3,5);
  b.InitAA(y,3,5);
  c.InitAA(z,3,5);
  if(a.Compare(b))
  cout<<"a=b"<
  else
  cout<<"a<>b"<
  if(a.Compare(c))
  cout<<"a=c"<
  else
  cout<<"a<>c"<
  【参考答案】
  int AA::Compare(AA b)
  {if(n!=b.n) return 0;
  for(int i=0; i
  if(a[i]!=b.a[i]) return 0;
  return 1;}
  【试题解析】
  本题考查应用for循环、if条件控制语句等基本控制结构解决实际问题的能力。


  3.综合应用题
  使用VC6打开考生文件夹下的工程test17_3,此工程包含一个源程序文件kt2_3.cpp,其中定义了用于表示点的类Point和表示内容的类Text以及二者的派生类CircleWithText,但它们的定义并不完整。请按要求完成下列操作,将它们的定义补充完整。
  (1)定义类Point的构造函数,请使用参数列表的形式将成员函数x和y分别初始化为参数x1和y1的值。请在注释“//**1**”之后添加适当的语句。
  (2)完成类Text的构造函数Text(char*str)的定义,将char型的str指向的内容赋值给text并且输出str所指向的内容,请在注释“//**2**”之后添加适当的语句。
  (3)定义类CircleWithText的构造函数CircleWithText(intcx,intcy,char*msg),int型的cx和cy用于赋值给x和y,char型的指针*msg用于赋值给text,请在注释“//**3**”之后添加适当的语句。
  输出结果如下:
  Point:34
  hello
  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
  源程序如下:
  #include
  #include
  classPoint
  {intx,y;
  public:
  //**1**
  {cout<<"Point:"<
  ~Point(){}};
  classText
  {chartext[100];
  public:
  Text(char*str)
  {//**2**}
  ~Text(){}};
  classCircleWithText:publicPoint,publicText
  {public:
  //**3**
  {}
  ~CircleWithText(){}};
  voidmain()
  {CircleWithTextcm(3,4,"hello");}
  【参考答案】
  (1)Point(int x1=0, int y1=0) :x(x1), y(y1)
  (2)strcpy(text,str);
  cout<
  (3)CircleWithText(int cx,int cy, char *msg):Point(cx,cy),Text(msg)
  【试题解析】
  本题主要考查考生对于多继承中类的定义和派生类构造函数的定义的掌握。注意学会使用参数列表的形式定义派生类的构造函数,在列表中的格式是基类名1(向基类传递的参数列表),基类名2(向基类传递的参数列表)。

就业数据资源平台