第三章
1.    关于类和对象不正确的说法是(   C
A.    类是一种类型,它封装了数据和操作
B.      对象是类的实例
C.    一个类的对象只有一个
D.    一个对象必属于某个类
2.下列有关类的说法不正确的是(  D
A.      类是一种用户自定义的数据类型;
B.      只有类中的成员函数或友元函数才能存取类中的私有成员;
C.      在类中,如果不作特别说明,所有的数据均为私有类型;
D.      在类中,如果不作特别说明,所有的成员函数均为公有类型;
3.    在类定义的外部,可以被访问的成员有(  C
A.  所有类成员
B.  privateprotected的类成员
C.  public的类成员         
D.  publicprivate的类成员
4.  以下叙述中不正确的是(  C  )
A. 一个类的所有对象都有各自的数据成员,它们共享函数成员
B. 一个类中可以有多个同名的成员函数
C. 一个类中可以有多个构造函数、多个析构函数
D. 在一个类中可以声明另一个类的对象作为它的数据成员
5.        声明一个类的对象时,系统自动调用()函数,撤消对象时,系统自动调用(  C )函数
A.  成员函数          B. 构造函数              C. 析构函数            D. 普通函数
6.        下面对构造函数的不正确描述是(
A.  系统可以提供默认的构造函数              B. 构造函数可以有参数,所以可以有返回值
C.  构造函数可以重载                                D. 构造函数可以设置默认参数
7.    下面对析构函数的正确描述是( C 
A. 系统不能提供默认的析构函数              B. 析构函数必须由用户定义
C. 析构函数没有参数                                D. 析构函数可以设置默认参数
8.下面(    B  )项是对构造函数和析构函数的正确定义。
Avoid X::X(),  void X::~X()
BX::X(参数),    X::~X()
CX::X(参数),    X::~X(参数)
Dvoid X::X(参数),  void X::~X(参数)
9.     C  )的功能是对象进行初始化。
    A.析构函数      B. 数据成员  C.构造函数  D.静态成员函数
10.(  C )不是析构函数的特征。
A.      一个类中只能定义一个析构函数;
B.      析构函数名与类名相同;
C.      析构函数只是用来释放对象,所以析构函数是空函数;
D.   析构函数不指定数据类型,并且也没有参数;
11.有关构造函数的说法不正确的是( D  )。
A.    构造函数的名字和类的名字一样;
B.      构造函数在定义类的对象时自动执行;
C.      构造函数无任何函数类型;
D.      构造函数有且仅有一个;
12.(  C  )是构造函数的特征。
A.     构造函数的函数名与类名不同;
B.      一个类中只能定义一个构造函数;
C.      构造函数可以设置缺省参数;
D.      构造函数必须指定类型说明;
13. 以下有关析构函数的叙述不正确的是(    B )
A. 在一个类只能定义一个析构函数  B. 析构函数和构造函数一样可以有形参
C. 析构函数不允许用返回值            D. 析构函数名前必须冠有符号“~”
14. 对类的构造函数和析构函数描述正确的是( A)。
A.      构造函数可以重载,析构函数不能重载
构造函数可以被重载B.      构造函数不能重载,析构函数可以重载
C.      构造函数可以重载,析构函数也可以重载
D.      构造函数不能重载,析构函数也不能重载
15. 拷贝构造函数具有的下列特点中,(D )是错误的。
A  如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的
B  拷贝构造函数只有一个参数,并且是该类对象的引用
C  拷贝构造函数是一种成员函数
D 拷贝构造函数的名字不能用类名
16.已知类A中一个成员函数说明为: void set(A &a); ,其中A &a的含意是(  C)
A. 指向类A的指针为a;
B.  将a的地址值赋值给变量set;
C.  a是类A的对象引用,用来作函数set( )的形参;
D. 变量A与a按位相与作为函数set( )的参数;
17、在下列说法中,(  C  )不会调用拷贝初始化构造函数。
A.      当对象作为函数实参传递给函数形参时;
B.      明确表示由一个对象初始化另一个对象时;
C.      用赋值运算符”=”将一个对象赋给另一个同类对象时;
D.   当对象作为函数返回值时;
18. (  B )是不可以作为某类的成员的。
A. 自身类对象的指针        B. 自身类的对象
C. 自身类对象的引用        D. 另一个类的对象
19. 具有转换函数功能的构造函数,应该是(   
A.      不带参数的构造函数;
B.      带有一个参数的构造函数;
C.      带有两个以上参数的构造函数;
D.   缺省构造函数;
20. 假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为(   C)。
A.OneClass(OneClass p);            B. OneClass& (OneClass p);
C. OneClass(OneClass & p);          D. OneClass (OneClass *p);
21. 下述静态数据成员的特性中,(    D )是错误的。
A.      说明静态数据成员时前面要加修饰符static;
B.      静态数据成员要在类体外进行初始化;
C.      在程序中引用公有静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符;
D.   静态数据成员是个别对象所共用的;
22.    对静态成员的不正确描述是(  B
A. 静态成员不属于对象,是类的共享成员   
B. 静态数据成员要在类外定义和初始化
C. 调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针
D. 非静态成员函数也可以操作静态数据成员
23. 关于静态成员的描述中,(   B    )是错误的。
A  静态成员可分为静态数据成员和静态成员函数
B  静态数据成员定义后必须在类体内进行初始化
C  静态数据成员初始化不使用其构造函数
D  静态数据成员函数中不能直接引用非静态成员
24.  以下关于静态成员变量的叙述不正确的是(  D      )
A.静态成员变量为类的所有对象所公有
B.静态成员变量可以在类内任何位置上声明
C.静态成员变量的赋初值必须放在类外
D.定义静态成员变量时必须赋初值
25.  定义静态成员函数的主要目的是(    A    )
A.方便调用                B.有利于数据隐藏
C.处理类的静态成员变量    D.便于继承
26. 以下叙述不正确的是(    C    )    使用静态数据成员:
A.可以节省内存空间          B.是为了解决数据共享问题
C.可以直接用类名来引用      D.可以提高序运算速度
27.    关于this指针的说法错误的是(  A
A.  this指针必须显示说明              B. 当创建一个对象后,this指针就指向该对象
C.  成员函数拥有this指针              D.  静态成员函数不拥有this指针
28. 设有定义:
class person
{ int num;
  char name[10];
public:
  void init(int n, char *m);
  ...
};
person std[30];
则以下叙述不正确的是(    D )
A. std是一个含有30个元素的对象数组
B. std数组中的每一个元素都是person类的对象
C. std数组中的每一个元素都有自己的私有变量numname
D. std数组中的每一个元素都有各自的成员函数init
29.  下面对友元的错误描述是( D 
A. 关键字friend用于声明友元                                 
B. 一个类的成员函数可以是另一个类的友元
C. 友元函数访问对象的成员不受访问特性影响     
D. 友元函数通过this指针访问对象成员
30. 关于友元的描述中,(     B )是错误的。
A  友元函数是成员函数,它被说明在类体内
B  友元函数可直接访问类中的私有成员
C  友元函数破坏封装性,使用时尽量少用
D  友元类中的所有员成函数都是友
元函数
31. 下面对于友元函数描述正确的是(   B  )。
A.友元函数的实现必须在类的内部定义
B.友元函数是类的成员
C.友元函数破坏了类的封装性和隐藏性
D.友元函数不能访问类的私有成员
32.下面的说法正确的是(
A. 构造函数可以声明为const成员函数
B. 构造函数可以声明为静态成员函数
C. 构造函数可以声明为虚函数
D. 构造函数可以声明为友元
33 .已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,(  A)是正确的。
A.  void print( ) const                 B.  const void print( )
C.  void const print( )                  D.  void print(const)
34.假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,若该函数返回this值,当用x.abc()调用该成员函数后,x的值(C )。
A. 已经被改变
B. 可能被改变
C. 不变

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