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

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

本文导航
  • 第1页:一、改错题
  • 第2页:二、简单应用题
  • 第3页:三、综合应用题
  一、改错题

  使用VC6打开考生文件夹下的工程kt6_1,此工程包含一个源程序文件kt6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

  Constructor2

  Constructor1

  i=0

  i=10

  Destructor

  源程序文件kt6_1.cpp清单如下:

  #include

  classCSample

  {

  inti;

  public:

  CSample(){cout<<"Constructor1"<

  CSample(intval){cout<<"Constructor2"<

  ~CSample(){cout<<"Destructor"<

  voiddisp();

  };

  /**********found**********/

  voiddisp()

  {cout<<"i="<

  voidmain()

  {

  CSample*a,b(10);

  /**********found**********/

  a->disp();

  /**********found**********/

  b->disp();

  }

  【参考答案】

  (1)将void disp()

  改为:void CSample::disp()

  (2)将a->disp();

  改为:a=new CSample; a->disp();

  (3)将b->disp();

  改为:b.disp();

  【试题解析】

  (1)主要考查类成员函数定义格式的熟练掌握,对于类体外函数

  的实现,应该使用作用域符"::",按照返回值类型 类名::函数名(参数列表)的形式进行说明;

  (2)主要考查对动态存储分配的掌握,根据前面的定义,a是一个指针类型的变量,指向一个对象,但是并没有被初始化,此时a中的数据无任何意义,应该使用动态存储分配new生成一个新的对象,并将返回的指针赋值给a;

  (3)主要考查对象指针与对象在调用成员函数时格式的不同,b是一个对象变量,使用b调用成员函数应该用"."运算符。

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答