就业数据资源平台
当前位置:首页 > C++语言程序设计
2012年计算机二级C++第五套笔试模拟试题及答案解析(3)

(21)为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为

  A)public


  B)protected


  C)private


  D)static


  (22)在C++语言程序中,对象之间的相互通信通过


  A)继承实现


  B)调用成员函数实现


  C)封装实现


  D)函数重载实现


  (23)类的析构函数是在什么时候调用的?


  A)类创建时


  B)创建对象时


  C)删除对象时


  D)不自动调用


  (24)通常拷贝构造函数的参数是


  A)某个对象名


  B)某个对象的成员名


  C)某个对象的引用名


  D)某个对象的指针名


  (25)下面程序的运行结果为


  #include


  class A


  {


  static int n;


  public:


  A(){n=1;}


  A(int num){n=num;}


  void print(){cout<  };


  int A::n=2;


  void main()


  {


  A a,b (3);


  a.print();


  b.print();


  cout<  }


  A)11


  B)13


  C)23


  D)33


  (26)下列不是描述类的成员函数的是


  A)构造函数


  B)析构函数


  C)友元函数


  D)拷贝构造函数


  (27)继承机制的作用是


  A)信息隐藏


  B)数据封装


  C)定义新类


  D)数据抽象


  (28)C++语言类体系中,不能被派生类继承的有


  A)转换函数


  B)构造函数


  C)虚函数


  D)静态成员函数


  (29)下面程序的运行结果是


  #include


  class base{


  protected:


  int a;


  public:


  base(){cout<<"0";}


  };


  class base1:virtual base{


  public:


  base1(){cout<<"1";}


  };


  class base2:virtual base{


  public:


  base2(){cout<<"2";}


  };


  class derived:public base1,public base2{


  public:


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


  };


  void main()


  {


  derived obj;


  cout<  }


  A)0123


  B)3120


  C)0312


  D)3012


  (30)对于类定义


  class A{


  public:


  virtual void func1(){}


  void func2(){}


  };


  class B:public A{


  public:


  void func1(){cout<<″class B func 1″<  virtual void func2(){cout<<″class B func 2″<  };


  下面正确的叙述是


  A) A::func2()和B::func1()都是虚函数


  B) A::func2()和B::func1()都不是虚函数


  C) B::func1()是虚函数,而A::func2()不是虚函数


  D) B::func1()不是虚函数,而A::func2()是虚函数

就业数据资源平台