当前位置:首页 > 面向对象程序设计综合练习题a
A. 构造函数 B. 任何成员函数 C. 所属类 D. 全局区 3-37.由于数据隐藏的需要,静态数据成员通常被说明为( A )。
A.私有的 B.公用的 C.保护的 D.不可访问的
3-38.复制构造函数的参数通常是( C )。
A.无特殊要求 B.指向对象的指针
C.自己类对象的常引用 D.对象
3-39.通常,复制构造函数的参数是( C )。
A.某个对象名 B.某个对象的成员
C.某个对象的引用名 D.某个对象的引用名
3-40.关于常成员的描述中,错误的是( B )。 A.常成员包括常数据成员和常成员函数两种 B.常数据成员必须是公用的
C.常数据成员要使用构造函数成员初始化列表进行初始化 D.常对象只能调用它的常成员函数,不能调用其它的成员函
数
3-41.引入友元的主要目的是为了( C )。 A. 增强数据安全性 B. 提高程序的可靠性
C. 提高程序的效率和灵活性 D. 保证类的封装性
3-42.一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明( A )。
A. 需加上类域的限定 B. 不需加上类域的限定
C. 类域的限定可加可不加 D. 不需要任何限定
3-43.类成员的访问权限中,( C )只能被本类的成员函数和其友元函数访问。
A.share B.public C.private D.protected
3-44.当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的( D )。
- 9 -
A. 只能是公有成员 B. 只能是保护成员
C. 只能是除私有成员之外的任何成员 D. 具有任何权限的成员
3-45.下面不是描述类的成员函数的是( C )。
A.构造函数 B.析构函数 C.友元函数 D.复制构造函数 3-46. 下列函数中,( C )不是类的成员函数。
A.构造函数 B.析构函数 C.友元函数 D.复制构造函数
3-47.如果类A被说明成类B的友元,则( D )。
A.类A的成员即类B的成员 B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元
4-1.关于运算符重载,下列说法正确的是( C )。 A. 重载时,运算符的优先级可以改变。 B. 重载时,运算符的结合性可以改变。 C. 重载时,运算符的功能可以改变。
D. 重载时,运算符的操作数个数可以改变。
4-2.下列关于运算符重载的描述中,错误的是( B )。 A.运算符重载不可以改变操作数的个数 B.运算符重载不可以改变运算符的功能 C.运算符重载不可以改变结合方向 D.运算符重载不可以改变运算优先级
4-3.关于运算符重载,下列说法正确的是( B )。
A.所有运算符都可以重载
B.通过重载,可以使运算符应用于自定义的数据类型 C.通过重载,可以创建原来没有的运算符号 D.通过重载,可以改变运算符的优先级
4-4.在一个类中可以对一个运算符进行( D )重载。 A.1种 B.2种以下 C.3种以上 D.多种
4-5.不能参与重载的运算符是( A )。
A.类 B.函数 C.函数模板 D.运算符
4-6.在重载一个运算符时,其参数表中没有任何参数,这表明该
- 10 -
运算符是( B )。
A. 作为友元函数重载的1元运算符 B. 作为成员函数重载的1元运算符
C. 作为友元函数重载的2元运算符 D. 作为成员函数重载的2元运算符
4-7.在成员函数中进行双目运算符重载时,其参数表中应带有( B )个参数。
A. 0 B. 1 C. 2 D. 3
4-8.双目运算符重载为普通函数时,其参数表中应带有( C )个参数。
A. 0 B. 1 C. 2 D. 3
4-9.如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( A )。
A. a.operator+(b) B. b.operator+(a) C. operator+(a,b) D. operator(a+b)
4-10.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为( C )。 A. a.operator==(b) B. b.operator==(a) C. operator==(a,b) D. operator==(b,a)
4-11.如果表达式++a中的“++”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为( D )。
A. a.operator++(1) B. operator++(a) C. operator++(a,1) D. a.operator++()
4-12.在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( D )
A. 该运算符是一个单目运算符。
B. 该运算符函数有一个隐含的参数this。 C. 该运算符函数是类的成员函数。 D. 该运算符函数是类的友元函数。
4-13.关于插入运算符<<的重载,下列说法不正确的是( B )。 A. 运算符函数的返回值类型是ostream & 。 B. 重载的运算符必须定义为类的成员函数。 C. 运算符函数的第一个参数的类型是ostream & D. 运算符函数有两个参数。 4-14.C++提供了几种方法以实现不同类型间的转换。以下( C )不能用来进行不同类型数据间的转换的。 A.用隐式类型转换或显式类型转换
B.用转换构造函数
- 11 -
C.用复制构造函数 D.用类型转换函数
4-15.用类型转换函数进行类型转换,在定义类型转换函数时,以下( D )是正确的。
A.要指定函数类型,要给定函数参数
B.要指定函数类型,不用给定函数参数 C.不用指定函数类型,要给定函数参数 D.不用指定函数类型,不用给定函数参数
4-16.将运算符“+”重载,要求在进行两个负数相加时可以使用交换律,必须( A )。
A.将运算符“+”重载为友元函数
B.将运算符“+”重载为成员函数 C.将运算符“+”重载为构造函数 D.将运算符“+”重载为析构函数
5-1.继承机制的作用是( C )。
A.信息隐藏 B.数据封装 C.定义新类 D.数据抽象
5-2.C++的继承性允许派生类继承基类的( C )。
A. 部分特性,并允许增加新的特性或重定义基类的特性 B. 部分特性,但不允许增加新的特性或重定义基类的特性 C. 所有特性,并允许增加新的特性或重定义基类的特性 D. 所有特性,但不允许增加新的特性或重定义基类的特性 5-3.下列对派生类的描述中,( D )是错误的。
A.一个派生类可以作为另一个类的基类 B.派生类至少有一个基类
C.派生类的成员除了它自己的成员外,还包含它的基类的成
员
D.派生类中继承的基类成员的访问权限到派生类中保持不变
5-4.派生类的对象对其基类中( A )可直接访问。
A. 公有继承的公有成员 B. 公有继承的私有成员
C. 公有继承的保护成员 D. 私有继承的公有成员
5-5.基类和派生类可以分别称为( B )。 A.“大类”和“小类” B.“父类”和“子类” C.“小类”和“大类”
- 12 -
共分享92篇相关文档