2022年嵌入式C++高级编程 .pdf
《2022年嵌入式C++高级编程 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式C++高级编程 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式 C+ 面向对象高级编程考试试题1 嵌入式 C+ 面向对象高级编程笔试试卷请将填空题的答案填入表格中1 2 3 4 5 6 7 8 9 10 A CB 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 一、选择题1. 下列关于类和对象的叙述中,错误的是( ) (2 分)A.一个类只能有一个对象 B.对象是类的具体实例 C.类是对某一类对象的抽象 D.类和对象的关系是一种数据类型与变量的关系2. 当将一个类A 或函数 f() 说明为另一个类B 的友元后,类A 或函数 f() 能够直接访问类B的( )。 (2 分) A.只
2、能是公有成员 B.只能是保护成员C.只能是除私有成员之外的任何成员 D.任何权限的成员3. 类中定义的成员默认为( )访问属性。(2 分) A.public B.private C.protected D.friend 4. 一个类的友元不是该类的成员,与该类的关系密切,所以它( )。 (2 分) A.有 this 指针,有默认操作的对象 B.没有 this 指针,可以有默认操作的对象 C.有 this 指针,不能执行默认操作 D.没有 this 指针,也就没有默认操作的对象5. 假定 AA 为一个类, a 为该类私有的数据成员,GetValue( )为该类公有函数成员,它返回a 的值, x
3、为该类的一个对象,则访问x 对象中数据成员a 的格式为 ( )。 (2 分) A.x.a B.x.a() C.x-GetV alue() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - 嵌入式 C+ 面向对象高级编程考试试题2 D.x.GetValue() 6. 对于任一个类,用户所能定义的构造函数的个数至多为( )。 (2 分) A.0 B.1 C.2 D.任意个7. 一个类的析构函数通常被定义为该类的( )成员。(2 分)
4、 A.私有 B.保护 C.公用 D.友元8. 有如下类声明: class Foo int bar; ;则 Foo 类的成员bar 是 () (2 分) A.公有数据成员 B.公有成员函数 C.私有数据成员 D.私有成员函数9. 关于封装,下列说法中不正确的是( )。 (2 分) A.通过封装,对象的全部属性和操作结合在一起,形成一个整体 B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见) C.通过封装,每个对象都成为相对独立的实体 D.通过封装,对象的属性都是不可见的10. 假定 AB 为一个类,则执行“AB *s=new AB(a,5);”语句时得到的一个动态对象为( )。 (2分
5、) A.s B.s-a C.s.a D.*s 11. 对于一个类的构造函数,其函数名与类名( )。 (2 分)A.完全相同 B.基本相同 C.不相同 D.无关系12. 在一个类的定义中,包含有( )成员的定义。(2 分) A.数据 B.函数 C.数据和函数 D.数据或函数13. 假定 AB 为一个类,则执行AB x ;语句时将自动调用该类的( )。 (2 分) A.有参构造函数B.无参构造函数 C.拷贝构造函数 D.赋值构造函数14. 若类 X 是类 Y 的友元类,则下列哪种访问关系是正确的(2 分) A.类 X 的成员不能访问类Y 的私有成员名师资料总结 - - -精品资料欢迎下载 - -
6、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - 嵌入式 C+ 面向对象高级编程考试试题3 B.类 X 的成员可以访问类Y 的私有成员 C.类 Y 的成员可以访问类X 的私有成员 D.只有类 Y 的公共成员才能访问类X 的私有成员15. 假定 AB 为一个类,则执行“AB a, b(3), *p;”语句时共调用该类构造函数的次数为( )。(2 分) A.2 B.3 C.4 D.5 16. 在 C+中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之
7、为( )指针。(2 分) A.对象 B.派生 C.基类 D.this 17. 静态数据成员的初始化是在( )中进行的。(2 分) A.构造函数 B.任何成员函数 C.所属类 D.类体外18. 对于公有继承,基类中的私有成员在派生类中将( )。 (2 分) A.能够直接使用成员名访问 B.能够通过成员运算符访问C.仍然是基类的私有成员 D.变为派生类的私有成员19. 建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为( )的构造函数。(2 分) A.自己所属类、对象成员所属类、基类 B.对象成员所属类、基类、自己所属类 C.基类、对象成员所属类、自己所属类D.基类、自己所属类、
8、对象成员所属类20. 派生类的成员函数可以直接访问基类的()成员。(2 分) A.所有B.公有和保护 C.保护和私有 D.私有21. 在 c+中,一个虚函数是通过关键字( )放在其基类说明的前面来加以说明的. (2 分)A.virtual B.protected C.operator D.this 22. 在 C+中,对于基类的protected 成员,当以protected 方式派生一个新类时。该成员将成 为派生类的 ( )成员。(2 分) A.private 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
9、- - - - - - 第 3 页,共 10 页 - - - - - - - - - 嵌入式 C+ 面向对象高级编程考试试题4 B.protected C.public D.非法23. 面向对象方法的多态性是指() 。 (2 分) A.一个类可以派生出多个特殊类 B.一个对象在不同的运行环境中可以有不同的变体 C.针对一消息,不同的对象可以以适合自身的方式加以响应 D.一个对象可以是由多个其他对象组合而成的24. 抽象类是() : (2 分)A.不可以定义对象 B.可以定义对象 C.不可以派生新类 D.不可以输出25. 假定 k 是一个 double 类型的变量,则关于变量p 的正确定义语句为
10、( )。 (2 分) A.double p=&k; B.int *p=&k; C.double *p=&k; D.char *p= ”Thank you! ”;26. 若有定义: int aa8;则以下表达式中不能代表数组元素aa1的地址的是 ( )。 (2 分) A.&aa0+1 B.&aa1 C.&aa0+ D.aa+1 27. 假定指针变量p 定义为 “int *p=new int;”,要释放 p 所指向的动态内存,应使用语句 ( )。(2 分) A.delete p; B.delete *p; C.delete &p; D.delete p; 二. 判断1. 域运算符 (:)描述的是类
11、和成员之间的关系。2. 静态成员函数只能访问静态成员变量。3. 构造函数和析构函数都可以重载。不对4. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。不对5. 抽象类不可以继承,只能派生对6. 类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的对。7. 友元函数的声明不受访问区域的影响。对名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - - - - 嵌入式 C+ 面向对象高级编程考试试题5 8. 子
12、类可以继承父类的所有成员。不对9. 使用 new 申请的内存,在程序执行结束时,必须使用delete释放。不对 有的用 delete释放10. 类 A 是类 B的友元,则类B一定是类 A的友元。不对,这种关系只是单向的11. 静态成员变量每个对象都有一份拷贝。不对12. 子类可以改造从父类继承的成员。对三、问答题 1. 什么是“引用”?申明和使用“引用”要注意哪些问题?将“引用”作为函数参数有哪些特点 ? 1)引用是它所指对象的别名,引用并不产生对象的副本,仅仅是对象的同义词。2)声明引用注意:定义时马上被初始化,不能声明空指向的引用,有引用的指针和引用的引用,不能对 void进行引用,使用引
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年嵌入式C+高级编程 2022 嵌入式 C+ 高级 编程
限制150内