




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计期末综合练习二(填空题)填空题1. 以面向对象方法构造的系统,其基本单位是_对象_。2. 每个对象都是所属类的一个_实例_。3. 对象将其大部分实现细节隐藏起来,这种机制称为_封装_。4. 基类和派生类的关系称为_继承_。5. 复杂对象可以由简单对象构成,这种现象称为_聚合_。6. 对象是对问题域中客观事物的_抽象_,它是一组属性和在这些属性上操作的_封装体_。7. 特殊类的对象拥有其一般类的全部属性与操作,称特殊类_继承_了一般类。8. 如果一个派生类的基类不止一个,则这种继承称为_多继承_。9. 如果一个派生类只有一个唯一的基类,则这样的继承关系称为_单继承_。10. C+支持两种多态性:_编译_时的多态性和_运行_时的多态性。11. 在C+中,编译时的多态性是通过_重载_实现的,而运行时的多态性则是通过_虚函数_实现的。12. 面向对象软件开发的生命周期分为三个阶段,即分析、_设计_和_实现_。13. 面向对象的分析包括_问题域_分析和_应用_分析两步。14. 类定义中,既包含数据成员,也包含_函数_成员。15. 类中的数据成员的访问属性通常被指明为_private_。16. 类中的供外部调用定义的函数成员,其访问属性通常被定义为_public_。17. 对于类中定义的任何成员,其隐含访问权限为_ private_。18. 对于结构中定义的任何成员,其隐含访问权限为_ public_。19. 为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为_ private_。 20. 若在类的定义体中给出了一个成员函数的完整定义,则该函数属于_内联_函数。21. 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上_类名_和两个冒号分隔符。22. 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上类名和两个_冒号_分隔符。23. 若要把类外定义的成员函数规定为内联函数,则必须把_inline_关键字放到函数原型或函数头的前面。 24. 把一个类的定义体和所有成员函数的定义体所构成的程序范围叫做该类的_作用域_。25. 假定AA是一个类,“AA* abc();”是该类中一个成员函数的原型,则在类外定义时的函数头为_ AA*AA: abc()_。26. 成员函数的参数表在类作用域中,成员函数的返回值类型_*this_类作用域中。27. 为了避免在调用成员函数时修改对象中的任何数据成员,则应在定义该成员函数时,在函数头的后面加上_const_关键字。 28. 若只需要通过一个成员函数读取数据成员的值,而不需要修改它,则应在函数头的后面加上_const_关键字。 29. 若采用x.abc(y)表达式调用一个成员函数,在成员函数中使用的_*this_就代表了类外的x对象。 30. 若采用p-abc(y)表达式调用一个成员函数,在成员函数中使用的_this_就代表了类外的p指针。 31. 内联函数的定义模块与_类定义_模块必须放在同一个文件中。32. 假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,在该函数体中(能够/不能够)_不能够_向*this或其成员赋值。33. 在一个用数组实现的队列类中,包含有两个数据成员,一个指明队首元素位置,另一个指明_队列长度_。34. 在一个用数组实现的队列类中,包含有两个数据成员,一个指明队列长度,另一个指明_队首_元素的位置。35. 在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则插入一个新元素的位置为_(first+length)%MS_。36. 在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则删除一个元素后队首的位置为_(first+1)%MS_。37. 在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队列为空的条件为_length=0_。38. 在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队列为满的条件为_ length=MS_。39. 当一个队列为空时,不能对其做_删除_元素的操作。40. 当一个队列为满时,不能对其做_插入_元素的操作。41. 从一个队列中删除元素就是删除_队首_位置上的元素。42. 向一个队列中插入元素就是把该元素放到_队尾_元素的后一位置上。43. 在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,当链队非空时,elemhead-next_指向队首结点的后继(即下一个)结点。44. 在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,当链队非空时,新插入结点的地址应当赋给_elemtail_所指结点的next域。45. 在一个用链表实现的队列类中,队尾结点的指针域的值为_null_。46. 在一个用链表实现的队列类中,若链队中只含有一个结点,则队首指针的值与队尾指针的值_相同_。47. 在一个用链表实现的队列类中,若链队为空或只含有一个结点,则队首指针的值与队尾指针的值_相同_。48. 在一个用链表实现的队列类中,若队首指针与队尾指针的值不同,则说明链队中至少包含有_2_个结点。49. 一个类的_构造_函数实现对该类对象的初始化功能。50. 一个类的_析构_函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。51. 当用户为一个类定义有_构造函数_时,则系统不会为该类再自动生成一个默认构造函数。52. 假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为_AB()_。53. 假定用户没有给一个名为AB的类定义析构函数,则系统为其定义的析构函数为_AB()_。54. 定义类动态对象数组时,其元素只能靠自动调用该类的_无参构造函数_来进行初始化。55. 在一个类中定义拷贝构造函数的目的,是为了当利用该类的一个对象初始化另一个对象时,能够避免这两个对象的同一指针同时指向同一块_动态存储空间_。56. 为了释放类对象中指针成员所指向的动态存储空间,则需要为该类定义_析构函数_。57. 假定 AB为一个类,则执行“AB a10;”语句时,系统自动调用该类构造函数的次数为_10_。58. 假定一个类对象数组为AN,当离开它的作用域时,系统自动调用该类析构函数的次数为_N_。59. 对类中对象成员的初始化是通过在构造函数中给出的_初始化表_来实现的。60. 对类中常量成员的初始化是通过在构造函数中给出的_初始化表_来实现的。61. 对类中引用成员的初始化只能通过在构造函数中给出的_初始化表_来实现。62. 对类中一般数据成员的初始化既可以通过在构造函数中给出的初始化表来实现,也可以通过构造函数中的_函数体_来实现。63. 假定要把aa定义为AB类中的一个常量整数型数据成员,则定义语句为const int aa _。64. 假定要把aa定义为AB类中的一个引用整数型数据成员,则定义语句为_int&aa_。65. 假定AB类中只包含一个整型数据成员a,并且它是一个常量成员,若利用参数aa对其进行初始化,则该类的构造函数的定义为_AB(int aa):a(aa)_。66. 假定AB类中只包含一个整型数据成员a,并且它是一个引用成员,若利用引用参数aa对其进行初始化,则该类的构造函数的定义为_AB(int& aa):a(aa)_。67. 假定指针p指向一个动态分配的类对象,则当执行“delete p;”语句时,在释放p所指向的动态存储空间之前将自动调用该类的_析构函数_。68. 假定用户为类AB定义了一个构造函数“AB(int aa) a=aa;”,则系统(会/不会)_不会_为该类自动定义一个无参构造函数AB() 。69. 假定用户为类AB定义了一个构造函数“AB(int aa, char *bb=NULL):a(aa),b(bb)”,则该类中至少包含有_2_个数据成员。70. 假定用户为类AB定义了一个构造函数“AB(int aa) a=aa;”,该构造函数实现对数据成员_a_的初始化。71. 假定用户为类AB定义了一个构造函数“AB(int aa=0):a(aa)”,则定义该类的对象时,可以有_2_种不同的定义格式。72. 假定用户为类AB定义了一个构造函数“AB(int aa):a(aa)”,则定义该类的对象时,有_1_种定义格式。73. 假定用户只为类AB定义了一个构造函数“AB(int aa, int bb=0) a=aa; b=bb;”,则定义该类的对象时,其实参表中至多带有_2_个实参。74. 假定用户只为类AB定义了一个构造函数“AB(int aa, int bb=0) a=aa; b=bb;”,则定义该类的对象时,其实参表中至少带有_1_个实参。75. 假定用户为类AB定义了一个构造函数“AB(int aa=0, int bb=0) a=aa; b=bb;”,则定义该类的对象时,可以有_3_种不同的定义格式。76. 假定用户只为类AB定义了一个构造函数“AB():a(0),b(0)”,则定义该类对象x的定义语句“AB x();”是_错误_(正确/错误)的。77. 假定用户只为类AB定义了一个构造函数“AB():a(0),b(0)”,则定义该类对象x的定义语句“AB x;”是_正确_(正确/错误)的。78. 假定用户只为类AB定义了一个构造函数“AB():a(0),b(0)”,则定义该类对象x的定义语句“AB x(5);”是_错误_(正确/错误)的。79. 假定AB为一个类,则类定义体中的“AB(AB& x);”语句为该类_拷贝构造函数_的原型语句。80. 假定AB为一个类,则该类的拷贝构造函数的函数头为_AB(AB&)_。81. 假定AB为一个类,该类中含有一个指向动态数组空间的指针成员pa,则在该类的析构函数中应该包含有一条_DELETE PA_语句。82. 静态成员函数 只能 _访问类的静态数据成员, _不能 访问类的非静态数据成员。83. 静态数据成员必须在所有函数的定义体外进行_初始化_。84. 一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明必须在函数名前加上_类域_的限定。85. 重载运算符时,该运算符的_优先级_、结合性以及操作符的个数不允许改变。86. 一个单目运算符作为类的成员函数重载时有_0_个参数;如果作为独立函数重载,则有_1_个参数。87. 一个双单目运算符作为类的成员函数重载时有_1_个参数;如果作为独立函数重载,则有_2_个参数。88. 除了_赋值_运算符外,其他重载的运算符都可以被派生类继承。89. 作为类的成员函数重载一个运算符时,参数表中只有一个参数,说明该运算符有_2_个操作数。90. 在重载一个单目运算符时,参数表中没有参数,说明该运算符函数只能是类的_成员函数_。91. 重载插入运算符时,其运算符函数的返回值类型应当是_istream &_。93. 重载插入运算符时,其运算符函数的参数有_2_个。94. 重载插入运算符时,其运算符函数不能被定义为类的_成员_函数。95. 类型转换函数没有_返回值_类型,而且参数表为_空_。96. 在一个或若干个类的基础上构造一个新类,被称为_继承_。97. 派生类的成员函数可以直接访问基类的 公有和保护 成员,不能直接访问基类的 _私有_成员。98. 当保护继承时,基类的 公
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024~2025学年河南禹州七年级数册中考试试题
- 工艺集成与模块化设计研究考核试卷
- 低温仓储设备维护保养培训体系构建考核试卷
- 江苏省苏州市振华中学校2025年中考二模语文试题(含答案)
- 公路养护机械设备选型与人才培养考核试卷
- 数据治理与IT管理协同考核试卷
- 员工招聘与组织变革适应性分析考核试卷
- 稳定性试验设计与实施考核试卷
- 2025年中国PE光纤套管数据监测研究报告
- 2025年中国L-精氨酸盐酸盐数据监测研究报告
- 10kV小区供配电设计、采购、施工EPC投标技术方案技术标
- 2024届四川凉山州数学高二第二学期期末考试试题含解析
- 铝压延加工材项目评估报告
- (环境管理)环境保护与水土保持监理实施细则
- 云南省昆明市官渡区2022-2023学年七年级下学期期末语文试题(含答案)
- 管道护理业务学习课件
- 新求精德语强化教程初级1(第四版)
- GB/T 18601-2001天然花岗石建筑板材
- 汽封加热器 说明书
- 07劳动力及资源配备计划
- 精馏-化工分离工程课件
评论
0/150
提交评论