考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级考试C++考前押密试卷(4)

中华IT学院   【 】  [ 2017年8月25日 ]

  21.派生类的成员函数不能访问基类的(  )。

  A.公有成员和保护成员

  B.公有成员

  C.私有成员

  D.保护成员

  22.函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是(  )。

  A.Fun(20);

  B.Fun(20+n);

  C.Fun(n);

  D.Fun(&n);

  23.有如下四个语句:

  ①cout<<’A’<  ②cout<  ③cout<<’A’<  ④cout<  其中能显示A******B的是(  )。

  A.①和③

  B.①和④

  C.②和③

  D.②和④

  24.下列关于运算符重载的描述中,正确的是(  )。

  A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符

  B.一元运算符只能作为成员函数重载

  C.二元运算符重载为非成员函数时,参数表中有一个参数

  D.C++中可以重载所有的运算符

  25.有如下的程序:

  #include

  #include

  usingnamespacestd;

  classMyString

  {public:

  MyString(constchar*s);

  MyString(){delete[]data;}

  protected:

  unsignedlem

  char*data;};

  MyStrin9::MyString(constchar*s)

  {len=strlen(s);

  data=newchar[len+1];

  strcpy(data,s);}

  intmain()

  {MyStringa("C++Programing");

  MyStringb(a);

  return0;}

  在运行上面的程序时出错,出错的原因是(  )。

  A.构造函数的实参不允许是本类的对象

  B.没有定义实现深层复制的复制构造函数

  C.构造对象a时实参与形参类型不符

  D.系统不能生成默认的复制构造函数

  26.有如下程序:

  #include

  usingnamespacestd;

  classMyClass{

  public:

  MyClass(){++count;)

  ~MyClass(){--count;)

  staticintgetCount(){returncount;}

  private:

  staticintcount;

  };

  intMyClass::count=0;

  intmain(){

  MyClassobj;

  cout<  MyClass*ptr=newMyClass;

  cout<  deleteptr;

  cout<  return0;

  }

  程序的输出结果是(  )。

  A.121

  B.232

  C.221

  D.122

  27.有如下程序:

  #include

  usingnamespacestd;

  classVAC{

  public;

  intf()const(return3;}

  intf(){return5;}

  };

  Intmain(){

  VACv1:

  constVACv2;

  cout<  return0;

  }

  运行时的输出结果是()。

  A.53

  B.35

  C.55

  D.33

  28.下列程序中横线处应填入的语句是()。

  classBase

  {

  public:

  voidfun(){cout<<"Baseoffun"<  classDerived:publicBase

  {

  voidfun()

  {

  //显示基类的成员函数fun

  cout<<"Derivedoffun"<  }

  };

  A.fun();

  B.Base.fun();

  C.Base::fun();

  D.Base->fun();

  29.有以下程序:

  #include

  usingnamespacestd;

  classsample

  {

  private:

  intn;

  public:

  sample(){}

  sample(intm)

  {

  n=m:

  }

  sampleadd(samplesl,samples2)

  {

  this->n=s1.n+s2.n;

  return(*this);

  }

  voiddisp()

  {

  cout<<"n="<  }

  };

  intmain()

  {

  samples1(10),s2(5),s3;

  s3.add(s1,s2);

  s3.disp();

  return0:

  }

  程序运行后,输出的结果是(  )。

  A.n=10

  B.n=5

  C.n=20

  D.n=15

  30.有如下函数模板定义:

  templateT2plus(T1t1,T3t3){returnt1+t3;}

  则以下调用正确的是(  )。

  A.plus(3,5L);

  B.plus<>(3,5L);

  C.plus(3,5L);

  D.plus(3,5L);

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved