面向对象程序设计复习题专科.docx
- 文档编号:13569558
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:31
- 大小:30.76KB
面向对象程序设计复习题专科.docx
《面向对象程序设计复习题专科.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题专科.docx(31页珍藏版)》请在冰点文库上搜索。
面向对象程序设计复习题专科
面向对象程序设计复习题专科
一、单项选择题
1.在类定义之外定义成员函数时,下列哪些说法是正确的()。
A.必须在函数名之前加上类名和作用域符B.类的成员函数不可重载
C.类定义中可以不声明该函数 D.函数名前作用域符课省略
2.多重继承的构造顺序一般可分为4步,下面给出这4个步骤:
step1:
任何非虚拟基类的构造函数按照它们被继承的顺序构造。
step2:
任何虚拟基类的构造函数按照它们被继承的顺序构造。
step3:
任何成员对象的构造函数按照它们声明的顺序构造。
step4:
类自己的构造函数。
这4个步骤的正确顺序是()。
A.step4、step3、step1、step2B.step2、step4、step3、step1
C.step2、step1、step3、step4D.step3、step4、step1、step2
3.假设MyClass是一个类,则该类的拷贝构造函数的声明语句为()。
A.MyClass(MyClassp);B.MyClass&(MyClassp);
C.MyClass(MyClass&p);D.MyClass(MyClass*p);
4.重载运算符与原运算符可以不一致的是什么()。
A.优先级B.操作数个数C.操作内容D.结合性
5.当用户进行鼠标操作时,释放鼠标左键会发出()消息。
A.WM_lBUTTONDOWNB.WM_lBUTTONUP
C.WM_lBUTTONBLOCKD.WM_RBUTTONUP
6.下面描述中,表达错误的是()。
A.公有继承时基类中的public成员在派生类中仍是public的
B.公有继承是基类中的private成员在派生类中仍是private的
C.公有继承时基类中的protected成员在派生类中仍是protected的
D.私有继承时基类中的public成员在派生类中是private的
7.可以用p.a的形式访问派生类对象p的基类成员a,其中a是什么成员()
A.私有继承的公有成员 B.公有继承的私有成员
C.公有继承的保护成员 D.公有继承的公有成员
8.考虑函数原型voidtest(inta,intb=7,char="*"),下面的函数调用中,属于不合法调用的是()
A.test(5);B.test(5,8);C.test(6,"#");D.test(0,0,"*");
9.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是()
A.virtualshow()=0;B.virtualvoidshow();
C.virtualvoidshow()=0;D.voidshow()=0virtual;
10.在()情况下适宜采用inline定义内联函数。
A.函数体含有循环语句B.函数体含有递归语句
C.函数代码少、频繁调用D.函数代码多、不常调用
11.在下列叙述中,不是Windows程序的特点是()
A.Windows程序通过窗口与用户进行交互。
B.Windows程序是应用事件驱动进行编程。
C.Windows程序是利用消息进行通信。
D.Windows程序是利用过程驱动的程序。
12.设置虚基类的目的是( )。
A.简化程序;B.消除二义性;C.提高运行效率;D.减少目标代码;
13.下列不是控件的是()
14.如果类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.在下列叙述中,叙述错误的是()
A.Windows应用程序与控制台(Console)程序的入口函数不同。
B.在基于MFC编写的程序中,其类大部分都是由CObject类派生出来
C.WM_LBUTTONDOWN、WM_RBUTTONUP、WM_KEYDOWN都是鼠标消息
D.对话框、图标、菜单、光标等在VC中都可以是作为资源来处理
18.下列哪些是有关构造函数的错误说法()
C.构造函数无任何函数类型D.构造函数有且只有一个
19.下面有关重载函数的说法中正确的是()
A.重载函数必须具有不同的返回值类型; B.重载函数形参个数必须不同;
C.重载函数必须有不同的形参列表 D.重载函数名可以不同;
20.当单文档应用框架接收到框架窗口的命令时,它将按如下次序来寻找相应的消息控制函数()
A.视、文档、SDI主框架、应用AppB.文档、应用App、视、SDI主框架
C.视、文档、应用App、SDI主框架D.SDI主框架、文档、视、应用App
21、下列关于构造函数的描述中,错误的是()
A)构造函数可以设置默认参数; B)构造函数在定义类对象时自动执行
C)构造函数可以是内联函数; D)构造函数不可以重载
22、以下关于友元函数的叙述不正确的是()
A)友元函数提供了类之间数据共享的一个途径
B)一个友元函数可以访问任何类的任何成员
C)友元函数破坏了数据的封装
D)友元函数增加了程序设计的灵活性
23、下面描述中,表达错误的是()
A)公有继承时基类中的public成员在派生类中仍是public的
B)公有继承时基类中的private成员在派生类中仍是private的
C)公有继承时基类中的protected成员在派生类中仍是protected的
D)私有继承时基类中的public成员在派生类中是private的
24、最初的计算机编程语言是()。
A)机器语言B)汇编语言C)高级语言D)低级语言
25、C语言中允许的基本数据类型包括()
A)整型、实型、逻辑型。
B)整型、实型、字符型。
C)整型、字符型。
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声明为不带返回值的纯虚函数,正确的写法是()
A)virtualshow()=0;B)virtualvoidshow();
C)virtualvoidshow()=0;D)voidshow()=0virtual;
30、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()
A)面向过程 B)面向对象 C)安全性 D)复用性
31、以下程序的输出结果为:
#include
voidfunc(intx,inty,intz)
{z=x*x+y*y;}
voidmain()
{intk=33;
func(5,2,k);
count< } A)10B)33C)29D)出错 32、设置虚基类的目的是( )。 A)简化程序; B)消除二义性; C)提高运行效率; D)减少目标代码; 33、类的析构函数是在()调用的。 A)类创建时B)创建对象时 C)删除对象时D)不自动调用 34、假设MyClass是一个类,则该类的拷贝构造函数的声明语句为() A)MyClass(MyClassp);B)MyClass&(MyClassp); C)MyClass(MyClass&p);D)MyClass(MyClass*p); 35、关于delete运算符的下列描述中,( )是错误的。 A)它必须用于new返回的指针; B)使用它删除对象时要调用析构函数; C)对一个指针可以使用多次该运算符; D)指针名前只有一对方括号符号,不管所删除数组的维数。 36、结构化程序设计所规定的三种基本控制结构是() A)输入、处理、输出 B)树形、网形、环形 C)顺序、选择、循环 D)主程序、子程序、函数 37、在下列的各类函数中,()不是类的成员函数。 A)构造函数;B)析构函数; C)友元函数;D)拷贝初始化构造函数 38、下述对派生类的描述中,()是错的。 A)一个派生类可以作为另一个派生类的基类 B)派生类至少有一个基类 C)派生类的成员出除了它自己的成员外,还包含了它的基类的成员。 D)派生类中继承的基类成员的访问权限到派生类保持不变。 39、静态成员函数没有()。 A)返回值B)this指针 C)指针参数D)返回类型 40、当执行完下列语句:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 复习题 专科