大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > C++技巧 > 2014年计算机二级考试C++强化通关卷及答案3

2014年计算机二级考试C++强化通关卷及答案3(3)

关键词:计算机二级C++考试真题  阅读(2992) 赞(9)

[摘要]本文是2014年计算机二级考试C++强化通关卷及答案,与大家分享。
第 1 页:单选题
第 5 页:程序改错
第 6 页:简单应用题
第 7 页:综合应用题
第 8 页:参考答案

  21.设有定义:

  classC

  {public:

  intvalue;

  …

  };

  intX,*P;

  则以下引用形式中,正确的是(  )。

  A.x=value;

  B.x=C::value;

  C.p=&value

  D.p=C::value

  22.有以下程序:

  #include

  usingnamespacestd;

  classsample

  {

  private:

  intX;

  public:

  sample(inta)

  {

  X=a:

  }

  frienddoublesquare(samples);

  };

  doublesquare(samples)

  {

  returnS.x*S.X:

  }

  intmain()

  {

  samples1(20),s2(30);

  cout<  return0;

  }

  执行结果是(  )。

  A.20

  B.30

  C.900

  D.400

  23.有以下程序:

  #include

  usingnamespaeestd;

  classMyClass

  {

  public:

  MyClass(intn){number=n;}

  //拷贝构造函数

  MyClass(MyClass&other){number=other.number;}

  ~MyClass(){}

  private:

  intnumber;

  };

  MyClassfun(MyClassp)

  {

  MyClasstemp(p);

  returntemp;

  }

  intmain()

  {

  MyCIassobj1(10),obj2(O);

  MyClassobj3(obj1);

  obj2=fun(obj3);

  return0;

  程序执行时,MyClass类的拷贝构造函数被调用的次数是(  )。

  A.5

  B.4

  C.3

  D.2

  24.下列函数的运行结果是(  )。

  #include

  intadd(inta,intb);

  voidmain()

  {

  externintX,y;

  cout<  }

  intx(20),y(5);

  intadd(inta,intb)

  {

  ints=a+b:

  returns;

  }

  A.25

  B.30

  C.20

  D.15

  25.执行语句:cout<  A.123*******0K

  B.123#######OK

  C.123********0K********

  D.123#######OK########

  26.下面是关于派生类声明的开始部分,其中正确韵是(  )。

  A.classvirtualB:publicA

  B.virtualclassB:publicA

  C.classB:publicAvirtual

  D.classB:virtualpublicA

  27.下面程序的运行结果为(  )。

  #include

  ClassA

  {

  public:A(  ){cout<<"1";}

  ~A(  ){cout<<"2";}

  };

  ClassB:public:A

  {

  public:

  B(  ){cout<<"3";}

  ~B(  ){cout<<"4";}

  };

  Voidmain(  )

  {

  Bb;

  }

  A.1234

  B.1324

  C.1342

  D.3142

  28.下列关于构造函数和析构函数的描述,错误的是(  )。

  A.析构函数中调用虚函数采用静态联编

  B.对虚析构函数的调用可以采用动态联编

  C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数

  D.构造函数可以声明为虚函数

  29.若有如下程序:

  #include

  usingnamespaeestd;

  classTestClass

  {

  public:

  voidwho(){cout<<"TestClass"<  };

  classTestClassl:publicTestClass

  {

  public:

  voidwho(){cout<<"TestClassl"<  intmain()

  {

  TestClass*P;

  TestClasslobj1;

  p=&obj1;

  p->who();

  retum0;

  }

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

  A.TestClassl

  B.TestClass

  C.0

  D.无输出

  30.有以下程序:

  #include

  usingnamespacestd;

  #defineP13.14

  classPoint

  {private:

  intX,y;

  public:

  Point(inta,intb)

  {x=a:

  y=b;}

  intgetx()

  {returnX;}

  intgety()

  {returny;}};

  classCircle:publicPoint

  {private:

  intr;

  public:

  Circle(inta,intb,intc):Point(a,b)

  {r=C;}

  intgetr()

  {returnr;}

  doublearea()

  {returnPI*r*r;}};

  intmain()

  (Circlec1(5,7,10);

  cout<  return0;}

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

  A.314

  B.157

  C.78.5

  D.153.86



相关评论