一、单项选择题
1.有以下类的说明,请指出错误的地方_。
    class CSample
   
      int a2. 5              A
      Csample();              B
    public
      CSampleint  val);      C
      CSample();            D
    };
答:A
分析:类的数据成员不能直接赋初值。
2.在C+十中,可以把具有相同内部存储结构和相同操作的对象看成属于同一类。在指定一个类后,往往把属于这个类的对象称为类的    。从语言角度来说,类是一种数据类型,而    是具有这种类型的变量。
    A.实例  B.实物  C.特征  D.对象
答:①AD
3.有关类的说法不正确的是         
  A.类是一种用户自定义的数据类型
  B.只有类中的成员函数才能存取类中的私有数据
  C.在类中,如果不作特别说明,所有的数据均为私有类型
  D.在类中,如果不作特别说明,所有的成员函数均为公有类型
答:D
4.有关类和对象的说法下列不正确的有         
    A.对象是类的一个实例
    B.任何一个对象只能属于一个具体的类
    C.一个类只能有一个对象
    D.类与对象的关系和数据类型和变量的关系相似
答:C
5.有关构造函数的说法不正确的是           
    A.构造函数名字和类的名字一样
    B.构造函数在说明类变量时自动执行
    C.构造函数无任何函数类型
    D.构造函数有且只有一个
答:D
6.有关析构函数的说法不正确的是         
  A.析构函数有且只有一个
  B.析构函数无任何函数类型
  C.析构函数和构造。数一样可以有形参
  D.析构函数的作用是在对象被撤消时收回先前分配的内存空间
答:C
分析:构造函数可以有形参,但析构函数不能有形参。
7.在类的定义体外定义成员函数时,需要在函数名前加上  (1)  ,而在域外使用成员函数时,需要在成员名外加上   的名字。
  A类标记  B.类域标记  C.类对象  D.域运算符
答:①BC
8.若函数是在运行时被激活的,则该函数称为         
    A内联函数  B.非内联函数  C.成员函数  D.静态成员函数
答:B
9.在类的定义形式中,数据成员、成员函数和    组成了类定义体。
  A.成员的访问控制信息  B.公有消息  C.私有消息
D.保护消息
答:A
10    的功能是对对象进行初始化。
  A.析构函数B.数据成员    *胸造函数D.静态成员函数
答:C
11          只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。
    A静态函数  B.虚函数    C.构造函数  D.析构函数
答:A
12.若却queue是类,aQueue是它的一个对象,pl是类对象aQueue的一个指针,那么类对象  aQueue可以通过 来访问类的成员,类对象 aQueue的指针p1 可以通过 来访问类的成员。
    A.::        B..      C.;        D.->
答:①BD
13.局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用          。提供对全局变量的访问。
    A域运算符    B类运算符  C.重载      D引用
答:A
14.在下列关键宇中,用以说明类中公有成员的是       
    Apublic  B private  Cprotected  Dfriend
答:A
15.下列的各类函数中,          不是类的成员函数。
    A构造函数B.析构函数C.友元函数D.拷贝初始化构造函数
答:C
16            不是构造函数的特征。
    A.构造函数的函数名与类名相同
    B.构造函数可以重载
    C.构造函数可以设置默认参数
    D.构造函数必须指定类型说明
答:D
17          是析构函数的特征。
    A.一个类中只能定义一个析构函数
    B.析构函数名与类名不同
    C.析构函数的定义只能在类体内
    D.析构函数可以有一个或多个参数
答:A
18.通常拷贝初始化构造函数的参数是、。
    A.某个对象名
    B某个对象的成员名
    C.某个对象的引用名
    D.某个对象的指针名
答:C
19.关于成员函数特征的下述描述中,        是错误的。
    A.成员函数一定是内联函数
    B.成员函数可以重载
    C.成员函数可以设置参数的默认值
    D.成员函数可以是静态的
答:A
分析:成员函数可以是时联函数,也可以是非内联函数。
20.下述静态数据成员的特性中,        是错误的。
    A.说明静态数据成员时前边要加修饰符StatiC
    B.静态数据成员要在类体外进行初始化
    C.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符
    D.静态数据成员不是所有对象所共用的
答:D
21.友元的作用。。
    A.提高程序的运用效率
    B.加强类的封装性
    C.实现数据的隐藏性
    D.增加成员函数的种类
答:A
22.类模板的使用实际上是将类模板实例化成一个具体的       
    A.类B.对象C.函数D.模板类
答:A
23.一个          允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数    的返回值能取任意类型。
    A.函数模板B.模板函数C.类模板D.模板类
答:C
24.模板是实现类属机制的一种l具,其功能非常强大,它既允许用户构造类属函数,即    ;也允许用户构造类属类,即       
    A.模板函数  B.函数模板  C.模板类  D.类模板
答:①AC
二、填空题
1.任何类中允许有三种类型的数据               
答:public  private  protected
2.类中的数据和成员函数默认类型为       
答:私有
3.结构中p玫据和成员函数默认类型为     
答:公有
4.在类内部定义的            数据不能被不属于该类的函数来存取,定义为  的数据、函数则可以在类外部进行存取。
答:pritvale public
5        是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
答:构造函数
6.一个类有          个析构函数。
答:l
7.静态数据成员在定义或说明时前面要加上关键字       
答:static
8        成员函数的实现中不能直接引用类中说明的非静态成员。
答:静态
9.定义在类内部的函数为类默认状态        ,在类外部每次调用该函数时,定义的函数代码会在调用函数位置展开。
答:内联函数
10.以下程序运行的结果为、。
      Includeiostreamh
      class CSample
      {
          private
              int i
              static int k
        public
              CSample();
              void Display();
      };
    CSample::CSample()
     
          i0;
          k++
     
    void  Csample ::Display()
     
          cout <<i= <<i<<,k= <<k <<endl
     
    int csample::k=0;
    void  main()
     
        CSample ab
        aDisplay();
        bDisplay();
     
答:i0k2
    i0k2
11.以下程序运行的结果为_。
      Includeiostreamh
      class CSample
     
          int  i
      public
          CSample();
          void  Display();
          ~CSample();
      };
      CSarnple::CSample()
     
          cout<<Constructor<<”,”;
            i=0
c十十程序设计语言      ;
      void CSample::~Display()
     
        cout<<i=<<i<<”,”;
     
      CSample::~CSample()
      {
          cout<<Destructor<<endl
       
        void  main()
      {
          CSample a
          aDisplay();
     
答:Constructor,i=0Destructor
12.以下程序运行的结果为_。
      includestreamh
      class CSample
      {
          int i
          public
          CSample();
          CSampleint val);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。