招生考试网
学历类| 阳光高考 美术高考 研究生 自考 成人高考 专升本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 论文 驾照考试 书法等级 少儿英语 报检员 单证员 教案 专题 考试资讯 文档
 3773考试网 - 计算机等级考试 - 模拟试题 - 正文

2013年9月计算机二级C++无纸化预测试题及答案一

来源:2exam.com 2013-9-22
2013年9月计算机二级C++无纸化预测试题及答案一

 

三、改错题 
  使用VC6打开考生文件夹下的工程kt7_1,此工程包含一个源程序文件kt7_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: 
  Constructor1 
  Constructor1 
  Constructor1 
  Destructor 
  Constructor2 
  Destructor 
  x=0 
  x=5 
  Destructor 
  Destructor 
  源程序文件kt21_1.cpp清单如下: 
  #include 
  classB 
  {intx; 
  public: 
  B(  ){x=0;cout<<"Constructor1"< 
  B(inti){x=i;cout<<"Constructor2"< 
  ~B(  ){cout<<"Destructor"< 
  /**********found**********/ 
  ~B(inti){cout< 
  voidprint(  ){cout<<"x="< 
  voidmain(  ) 
  {B*ptr; 
  ptr=newB[2]; 
  /**********found**********/ 
  ptr[0]=B(0); 
  ptr[1]=B(5); 
  /**********found**********/ 
  for(inti=0;i<2;) 
  ptr[i].print(  ); 
  delete[]ptr;} 
  【参考答案】 
  (1)将~B(inti){cout< 
  (2)将ptr[0]=B(0);改为:ptr[0]=B(  ); 
  (3)将for(inti=0;i<2;)改为:for(inti=0;i<2;i++) 
  【试题解析】 
  (1)主要考查对析构函数特性的掌握,析构函数不能带参数也不能重载,一个类中只能定义一个析构函数,因为析构函数在删除对象的时候被默认调用,如果含有多个析构函数则可能引起多次删除产生的意外错误; 
  (2)主要考查对构造函数与函数重载的掌握,由输出结果可知其应该调用不带参数的构造函数B(  ); 
  (3)主要考查对for循环语句的使用,如果在for循环中不写第三个表达式就意味着该循环一直会执行下去,因为i的值总是小于2。

  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
    最新文章

    报名考试全国   黑龙江   吉林   辽宁   内蒙古   青海   宁夏   甘肃   新疆   陕西   西藏   北京   天津   河北   山东   江苏   安徽   河南
    上海   浙江   福建   广东   山西   湖南   湖北   江西   广西   海南   云南   贵州   四川   重庆
    分省高校计算机考试黑龙江   吉林   辽宁   内蒙古   河北   北京   天津   新疆   甘肃   宁夏   青海   陕西   山西   河南   山东   江苏   安徽   浙江
    福建   广东   海南   广西   江西   湖北   湖南   四川   上海   重庆   贵州   云南   西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导计算机一级   计算机二级   计算机三级   计算机四级
    经验交流
    高校计算机

    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号