面向对象程序设计C复习题

上传人:博****1 文档编号:486501104 上传时间:2022-08-29 格式:DOCX 页数:27 大小:72.89KB
返回 下载 相关 举报
面向对象程序设计C复习题_第1页
第1页 / 共27页
面向对象程序设计C复习题_第2页
第2页 / 共27页
面向对象程序设计C复习题_第3页
第3页 / 共27页
面向对象程序设计C复习题_第4页
第4页 / 共27页
面向对象程序设计C复习题_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《面向对象程序设计C复习题》由会员分享,可在线阅读,更多相关《面向对象程序设计C复习题(27页珍藏版)》请在金锄头文库上搜索。

1、选择题(共45 题)1 对类的构造函数和析构函数描述正确的是() 。A. 构造函数可以重载,析构函数不能重载VB. 构造函数不能重载,析构函数可以重载C. 构造函数可以重载,析构函数也可以重载D. 构造函数不能重载,析构函数也不能重载2 继承具有( ),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。A )规律性B.传递性,C. 重复性 D. 多样性3 假设OneClass 为一个类,则该类的复制初始化构造函数的声明语句为() 。A.OneClass(OneClass p);B. OneClass& (OneClass p );C. OneClass(OneClass

2、 & p); VD. OneClass (OneClass * p);4 对于结构中定义的成员,其默认的访问权限为( ) 。A.public B. protected C.private D. static5 下面对静态数据成员的描述中,不正确的是() 。A.静态数据成员可以在类体内进行初始化,B. 静态数据成员不可以在类体内进行初始化C. 静态数据成员能受 private 控制符的作用D. 静态数据成员调用前必须初始6. C+4的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种 是通过( )派生了新的类。A. 复用7. 假定AA 为一个类,据成员 a 的格式为(B.继承

3、V C. 封装 D. 引用a 为该类公有的数据成员, x 为该类的一个对象,则访问 x 对象中数 )。A. x(a) B. xa C. x-aD. x.a V9. 对于一个类的构造函数,其函数名与类名 ( )。A.完全相同 V B. 基本相同 C. 不相同 D. 无关系10. 一个类的构造函数通常被定义为该类的( )成员。A.公有V B. 保护 C. 私有 D. 友元11. 一个类的析构函数通常被定义为该类的( )成员。A. 私有 B. 保护 C.公有V D. 友元12. 一个类的静态数据成员所表示属性( )。A. 是类的或对象的属性B. 只是对象的属性C.只是类的属性 V D.类和友元的属性

4、13. 类的析构函数的作用是( ) 。A. 一般成员函数 B .类的初始化C .对象初始化 D.删除对象之前的善后工作,14. 下列对基类和派生类关系的描述中,错误的是( ) 。A .派生类是基类的具体化B.派生类是基类的子集,C 派生类是基类定义的延续D 派生类是基类的组合15. 下列对派生类的描述中,错误的是( ) 。A. 一个派生类可以作为另一个派生类的基类B .派生类至少有一个基类C.派生类的缺省继承方式是private D.派生类只继承了基类的公有成员和保护成员,)。16. 下列对继承的描述中,错误的是(A 析构函数不能被继承B 派生类也是基类的组合C 派生类的成员除了它自己的成员外

5、,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变,)是可以访问的。17. 派生类的对象对它的基类成员中(A.公有继承的公有成员,B 公有继承的私有成员C 公有继承的保护成员18. 下列说法错误的是(A 公有继承的基类中的B.公有继承的基类中的C 私有继承的基类中的D 保护继承的基类中的19. 下面叙述错误的是(D 私有继承的公有成员)。public成员在派生类中仍是public 的private成员在派生类中仍是private 的,public成员在派生类中仍是private 的public成员在派生类中仍是protected的)。A .基类的protected 成

6、员在派生类中仍然是protected VB 基类的 protected 成员在 public 派生类中仍然是protected 的C.基类的protected 成员在private 派生类中是private 的D 基类的 protected 成员不能被派生类的对象访问20设置虚基类的声明中,正确的是() 。A.简化程序B.消除二义性,C.提高运行效率D.减少目标代码21关于虚函数的描述中,正确的是() 。A 虚函数是一个静态成员函数B 虚函数是一个非成员函数C 虚函数即可以在函数说明定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型,22下列描述中,(

7、)是抽象类的特征。A 可以说明虚函数B 可以进行构造函数重载C.可以定义友元函数D.不能说明其对象,23 . 静态数据成员的初始化是在( )中进行的。A. 构造函数 B.任何成员函数C. 所属类D.全局区,24 .当将一个类A或函数f()说明为另一个类 B的友元后,类A或函数f()能够直接访问类 B 的( ) 。A. 只能是公有成员 B.只能是保护成员C.只能是除私有成员之外的任何成员D.具有任何权限的成员,25. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( ) 。A.作为友元函数重载的1元运算符B.作为成员函数重载的1元运算符,C. 作为友元函数重载的 2 元运算符D.

8、作为成员函数重载的 2 元运算符26. 关于运算符重载,下列说法正确的是( ) 。A. 重载时,运算符的优先级可以改变。B. 重载时,运算符的结合性可以改变。C.重载时,运算符的功能可以改变。VD. 重载时,运算符的操作数个数可以改变。27. 从一个基类派生出的各个类的对象之间 ( )。A. 共享所有数据成员,每个对象还包含基类的所有属性B. 共享部分数据成员,每个对象还包含基类的所有属性C. 不共享任何数据成员,但每个对象还包含基类的所有属性D.共享部分数据成员和函数成员,28. C+ 的继承性允许派生类继承基类的( ) 。A.部分特性,并允许增加新的特性或重定义基类的特性,B. 部分特性,

9、但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性29. 派生类的成员函数可以直接访问基类的( )成员。A.所有B.公有和保护 V C. 保护和私有 D. 私有30. 当派生类中有和基类一样名字的成员时,一般来说, () 。A.将产生二义性B.派生类的同名成员将覆盖基类的成员,C. 是不能允许的 D.基类的同名成员将覆盖派生类的成员31关于纯虚函数和抽象类的描述中,错误的是( ) 。A 纯虚函数是一种特殊的虚函数,它没有具体的实现B 抽象类是指具体纯虚函数的类C . 一个基类中说明有纯虚函数,该基类派

10、生类一定不再是抽象类,D 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出32如果一个类至少有一个纯虚函数,那么就称该类为() 。A .抽象类,B .虚函数 C .派生类 D .以上都不对33要实现动态联编,必须通过()调用虚函数。A.对象指针V B .成员名限定C .对象名D .派生类名34. 以下( )成员函数表示虚函数。 void vf(int)=0;D virtual void vf(int) A virtual int vf(int); BC virtual void vf()=0;40. 下面描述中,正确的是( ) 。A . virtual可以用来声明虚函数,B 含有纯虚函数

11、的类是不可以用来创建对象的,因为它是虚基类C 即使基类的构造函数没有参数,派生类也必须建立构造函数D 静态数据成员可以通过成员初始化列表来初始化35. 在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。A. 0B. 1Vz C. 2 D. 336. 在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是( ) 。A. 该运算符是一个单目运算符。 B. 该运算符函数有一个隐含的参数 this 。C.该运算符函数是类的成员函数。D.该运算符函数是类的友元函数。V37. 下面对于友元函数描述正确的是( ) 。A友元函数的实现必须在类的内部定义B.友元函数是类的成员C.友元函

12、数破坏了类的封装性和隐藏性,D.友元函数不能访问类的私有成员38. 为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该当成员的访问权限定义为( ) 。1 . public V B . protected C . private D . ststic39 .下面对静态数据成员的描述中,正确的是()。A静态数据成员是类的所有对象共享的数据,B.类的每一个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象调用40 .C+类体系中,不能被派生类继承的有()。A .构造函数 V B .虚函数 C .静态成员函数D .赋值操作函数41下列虚基类的

13、声明中,正确的是()。A . class virtual B:public A B . virtual class B:public AC . class B:public A virtualD. class B: virtual public AV42在下面的表达式中,不表示虚继承的是()。A . virtual public B. public virtualC. public VD. virtual43 .下列关于动态联编的描述中,错误的是()。A .动态联编是以虚函数为基础B .动态联编是运行时确定所调用的函数代码的C .动态联编调用函数操作是指向对象的指针或对象引用D.动态联编是在编

14、译时确定操作函数的,44 .下面4个选项中,()是用来声明虚函数的。A . virtual V B . public C . using D . false45 .编译时的多态性可以通过使用()获得。 AA.虚函数和指针V B .重载函数和析构函数C .虚函数和对象D .虚函数和引用二填空题(共33题)1 .重载插入运算符 时,其运算符函数的返回值类型应当是ostream & 。2 .派生类可以定义其 基类中不具备的数据和操作。3 .对象将其大部分实现细节隐藏起来,这种机制称为封闭。4 .建立类和类的对象时,系统对类不分配内存,系统对 对象 分配内存。5 .基类和派生类的关系称为继承和派牛。6

15、 .当保护继承时,基类的公有或保护 成员在派生类中成为保护成员,派生类对象不能直接访问基类的任何 成员。7 . C+支持两种多态性:细鱼 时的多态性(重载)和 运衣 时的多态性(虚函数)。、8 .在C+用定义类时,通常是利用变量描述对象的“特征”;利用函数描述对象的“行为。9 .假定用户为类 AB 定义了一个构造函数 AB(int aa , char*bb = NULL) : a(aa), b(bb) ,则 该类中至少包含有 2个数据成员。10 .类是对象的抽象.:而对象则是类的具体 实例。11 .如果不做特殊说明,类成员的默认访问权限是嵬疽;结构成员的默认访问权限是 公直。12 .在定义对象的同时初始化其成员变量,需要利用构造函数,用于初始化变量的值可以是固定的常量,也可以通过 参数 获得。13 .在私有继承关系下,基类的公有成员

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号