收藏 分销(赏)

面向对象程序设计复习题专科.doc

上传人:快乐****生活 文档编号:3584752 上传时间:2024-07-10 格式:DOC 页数:14 大小:33KB
下载 相关 举报
面向对象程序设计复习题专科.doc_第1页
第1页 / 共14页
面向对象程序设计复习题专科.doc_第2页
第2页 / 共14页
面向对象程序设计复习题专科.doc_第3页
第3页 / 共14页
面向对象程序设计复习题专科.doc_第4页
第4页 / 共14页
面向对象程序设计复习题专科.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、面向对象程序设计复习题 专科一、 单项选择题1. 在类定义之外定义成员函数时, 下列哪些说法是正确的( ) 。A. 必须在函数名之前加上类名和作用域符 B. 类的成员函数不可重载 C. 类定义中能够不声明该函数 D. 函数名前作用域符课省略2. 多重继承的构造顺序一般可分为4步, 下面给出这4个步骤: step1: 任何非虚拟基类的构造函数按照它们被继承的顺序构造。step2: 任何虚拟基类的构造函数按照它们被继承的顺序构造。step3: 任何成员对象的构造函数按照它们声明的顺序构造。step4: 类自己的构造函数。这4个步骤的正确顺序是( ) 。A. step4、 step3、 step1、

2、 step2 B. step2、 step4、 step3、 step1C. step2、 step1、 step3、 step4 D. step3、 step4、 step1、 step23. 假设MyClass是一个类, 则该类的拷贝构造函数的声明语句为( ) 。 A. MyClass(MyClass p); B. MyClass& (MyClass p); C. MyClass(MyClass& p); D. MyClass(MyClass * p);4. 重载运算符与原运算符能够不一致的是什么 ( )。 A优先级 B操作数个数 C操作内容 D结合性5. 当用户进行鼠标操作时, 释放鼠标

3、左键会发出( ) 消息。AWM_lBUTTONDOWN BWM_lBUTTONUP CWM_lBUTTONBLOCK DWM_RBUTTONUP6. 下面描述中, 表示错误的是( ) 。 A. 公有继承时基类中的public成员在派生类中仍是public的 B. 公有继承是基类中的private成员在派生类中仍是private的C. 公有继承时基类中的protected成员在派生类中仍是protected的 D. 私有继承时基类中的public成员在派生类中是private的7. 能够用p.a的形式访问派生类对象p的基类成员a, 其中a是什么成员( ) A. 私有继承的公有成员 B. 公有继承

4、的私有成员 C. 公有继承的保护成员 D. 公有继承的公有成员8. 考虑函数原型void test(int a,int b=7,char=*),下面的函数调用中, 属于不合法调用的是( ) A. test(5); B. test(5,8); C. test(6,#); D. test(0,0, *); 9. 如果在基类中将show声明为不带返回值的纯虚函数, 正确的写法是( ) A. virtual show( )=0; B. virtual void show( ); C. virtual void show( )=0; D. void show( )=0 virtual;10. 在 ( )

5、 情况下适宜采用 inline 定义内联函数。 A. 函数体含有循环语句 B. 函数体含有递归语句 C. 函数代码少、 频繁调用 D. 函数代码多、 不常调用11. 在下列叙述中, 不是Windows程序的特点是( ) AWindows程序经过窗口与用户进行交互。 BWindows程序是应用事件驱动进行编程。CWindows程序是利用消息进行通信。 DWindows程序是利用过程驱动的程序。12. 设置虚基类的目的是( ) 。A. 简化程序; B. 消除二义性; C. 提高运行效率; D. 减少目标代码; 13. 下列不是控件的是( ) A.组合框 B. 编辑框 C. 滚动条 D.菜单14.

6、如果类A被说明成类B的友元, 则( )A. 类A的成员即类B的成员 B. 类B的成员即类A的成员C. 类A的成员函数不得访问类B的成员 D. 类B不一定是类A的友元15. 不是Windows应用程序的资源的是( ) A. 加速键 B. 位图 C. 菜单 D. 窗口16. 关于delete运算符的下列描述中, ( ) 是错误的。A. 它必须用于new返回的指针; B. 使用它删除对象时要调用析构函数; C. 对一个指针能够使用多次该运算符; D. 指针名前只有一对方括号符号, 不论所删除数组的维数。17. 在下列叙述中, 叙述错误的是( ) AWindows应用程序与控制台(Console)程序

7、的入口函数不同。B在基于MFC编写的程序中, 其类大部分都是由CObject类派生出来CWM_LBUTTONDOWN、 WM_RBUTTONUP、 WM_KEYDOWN都是鼠标消息D对话框、 图标、 菜单、 光标等在VC中都能够是作为资源来处理18. 下列哪些是有关构造函数的错误说法 ( )A.构造函数名与类名一样 B.构造函数在说明类对象时自动执行C.构造函数无任何函数类型 D.构造函数有且只有一个 19. 下面有关重载函数的说法中正确的是( ) A. 重载函数必须具有不同的返回值类型; B. 重载函数形参个数必须不同; C. 重载函数必须有不同的形参列表 D. 重载函数名能够不同; 20.

8、 当单文档应用框架接收到框架窗口的命令时, 它将按如下次序来寻找相应的消息控制函数( ) A. 视、 文档、 SDI主框架、 应用App B. 文档、 应用App、 视、 SDI主框架C. 视、 文档、 应用App、 SDI主框架 D. SDI主框架、 文档、 视、 应用App21、 下列关于构造函数的描述中, 错误的是( ) A)构造函数能够设置默认参数; B)构造函数在定义类对象时自动执行 C)构造函数能够是内联函数; D)构造函数不能够重载 22、 以下关于友元函数的叙述不正确的是( ) A) 友元函数提供了类之间数据共享的一个途径B) 一个友元函数能够访问任何类的任何成员C) 友元函数

9、破坏了数据的封装D) 友元函数增加了程序设计的灵活性23、 下面描述中, 表示错误的是( ) A) 公有继承时基类中的public成员在派生类中仍是public的 B) 公有继承时基类中的private成员在派生类中仍是private的 C) 公有继承时基类中的protected成员在派生类中仍是protected的 D) 私有继承时基类中的public成员在派生类中是private的24、 最初的计算机编程语言是( )。A)机器语言 B)汇编语言 C)高级语言 D)低级语言25、 C语言中允许的基本数据类型包括( )A) 整型、 实型、 逻辑型。 B) 整型、 实型、 字符型。C) 整型、

10、字符型。 D) 整型、 实型、 逻辑型、 字符型26、 结构化程序设计的一种基本方法是( ) A) 筛选法B) 递归法C) 归纳法D) 逐步求精法27、 C+语言的跳转语句中, 对于break和continue说法正确的是( ) A) continue语句只应用与循环体中 B) break语句只应用与循环体中 C) break是无条件跳转语句, continue不是 D) break和continue的跳转范围不够明确, 容易产生问题 28、 友元的作用是( )。A)加强类的封装性 B)提高程序的执行效率C)实现数据的隐藏 D)增加成员函数的种类29、 如果在基类中将show声明为不带返回值的

11、纯虚函数, 正确的写法是( ) A) virtual show( )=0; B) virtual void show( );C) virtual void show( )=0; D) void show( )=0 virtual;30、 C+语言是从早期的C语言逐渐发展演变而来的.与C语言相比, 它在求解问题方法上进行的最大改进是( ) A) 面向过程B) 面向对象C) 安全性D) 复用性31、 以下程序的输出结果为: #includevoid func(int x,int y,int z)z=x*x+y*y;void main() int k=33;func(5,2,k);countk;A)

12、10 B)33 C)29 D)出错32、 设置虚基类的目的是( ) 。A) 简化程序; B) 消除二义性; C) 提高运行效率; D) 减少目标代码; 33、 类的析构函数是在( )调用的。A) 类创立时 B) 创立对象时C) 删除对象时 D) 不自动调用 34、 假设MyClass是一个类, 则该类的拷贝构造函数的声明语句为( ) A) MyClass(MyClass p); B) MyClass& (MyClass p); C) MyClass(MyClass& p); D) MyClass(MyClass * p);35、 关于delete运算符的下列描述中, ( ) 是错误的。A) 它

13、必须用于new返回的指针; B) 使用它删除对象时要调用析构函数; C) 对一个指针能够使用多次该运算符; D) 指针名前只有一对方括号符号, 不论所删除数组的维数。36、 结构化程序设计所规定的三种基本控制结构是( ) A) 输入、 处理、 输出B) 树形、 网形、 环形 C) 顺序、 选择、 循环D) 主程序、 子程序、 函数37、 在下列的各类函数中, ( ) 不是类的成员函数。 A) 构造函数; B) 析构函数; C) 友元函数; D) 拷贝初始化构造函数38、 下述对派生类的描述中, ( ) 是错的。A) 一个派生类能够作为另一个派生类的基类B) 派生类至少有一个基类C) 派生类的成

14、员出除了它自己的成员外, 还包含了它的基类的成员。D) 派生类中继承的基类成员的访问权限到派生类保持不变。39、 静态成员函数没有( ) 。A) 返回值B) this指针C) 指针参数 D) 返回类型 40、 当执行完下列语句: int hot=100; int &rad=hot; hot+=100; coutradendl; 输出结果是( ) 。A) 0 B) 100 C) 200 D) 300二、 名词解释1. 什么是继承性? 2. 简述文档/视图结构的工作机制 ? 3. 解释”引用”与”指针”的区别? 4. 构造函数和拷贝构造函数的功能分别是什么? 5. static局部变量和普通局部变

15、量有什么区别? 6. 继承性 7.多态性 8.抽象性 9.重载 10.封装性三、 综合题1. 写出下列程序的输出结果( ) ( 程序阅读题) #include class AA public: AA(int i,int j) A=i;B=j;coutConstructorn; AA(AA &obj) A=obj.A+1;B=obj.B+2;coutCopy_Constructorn; AA() coutDestructorn; void print() coutA=A,B=Bprint(); delete pa; 2. 阅读下面程序, 写出运行结果( ) ( 程序阅读题) #include c

16、lass Sampleint n;static int sum;public:Sample(int x)n=x;void add()sum+=n;void disp()coutn=n,sum=sumendl;int Sample:sum=0;void main()Sample a(2),b(3),c(5);a.add(); b.add(); c.add(); a.disp();b.disp(); c.disp();3. 阅读下面程序, 写出运行结果( ) ( 程序阅读题) #include class Apublic: virtual void fun() coutA:fun()endl; ;

17、class B: public A public: void fun() coutB:fun()endl; ;class C: public B public: void fun() coutC:fun()fun(); void main() A a, *p; B b; C c; p=&a; f(p);p=&b; f(p); p=&c; f(p); 4. 阅读下面程序, 写出运行结果( ) ( 程序设计题) #include class Testprivate:int i;static int k;public:Test();void Display();int Test:k=0;Test:T

18、est()i=0;k+;void Test:Display()couti=i,k=kendl; void main()Test a,b;a.Display();b.Display();5. 阅读下面程序, 写出运行结果( ) ( 程序设计题) #include void f2(int &x, int &y) int z = x; x = y; y = z; void f3(int *x, int *y) int z = *x; *x = *y; *y = z; void main() int x, y;x = 10; y = 26; cout x,y= x , y endl;f2(x, y); cout x,y= x , y endl;f3(&x, &y);cout x,y= x , y endl;x+; y-;f2(y, x); cout x,y= x , y endl; 6.下列shape类是一个表示形状的抽象类, area( )为求图形面积的函数。请从shape类派生三角形类(triangle)、 矩形类( rectangle) , 请给出两个类中必要的成员变量和成员函数的定义, 其中必须含有具体的求面积函数。( 程序设计题) class shape public: virtual float area( )=0; ;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服