2023年面向对象程序设计复习题专科_第1页
2023年面向对象程序设计复习题专科_第2页
2023年面向对象程序设计复习题专科_第3页
2023年面向对象程序设计复习题专科_第4页
2023年面向对象程序设计复习题专科_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计复习题专科一、单项选择题1.在类定义之外定义成员函数时,下列哪些说法是对的的()。A.必须在函数名之前加上类名和作用域符B.类的成员函数不可重载C.类定义中可以不声明该函数D.函数名前作用域符课省略2.多重继承的构造顺序一般可分为4步,下面给出这4个环节:step1:任何非虚拟基类的构造函数按照它们被继承的顺序构造。step2:任何虚拟基类的构造函数按照它们被继承的顺序构造。step3:任何成员对象的构造函数按照它们声明的顺序构造。step4:类自己的构造函数。这4个环节的对的顺序是()。A.step4、step3、step1、step2B.step2、step4、step3、step1C.step2、step1、step3、step4D.step3、step4、step1、step23.假设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_lBUTTONUPC.WM_lBUTTONBLOCKD.WM_RBUTTONUP6.下面描述中,表达错误的是()。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.下列不是控件的是()A. 组合框B.编辑框C.滚动条D.菜单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.下列哪些是有关构造函数的错误说法()A.构造函数名与类名同样B.构造函数在说明类对象时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个19.下面有关重载函数的说法中对的的是()A.重载函数必须具有不同的返回值类型;B.重载函数形参个数必须不同;C.重载函数必须有不同的形参列表D.重载函数名可以不同;20.当单文档应用框架接受到框架窗口的命令时,它将按如下顺序来寻找相应的消息控制函数( )A.视、文档、SDI主框架、应用AppB.文档、应用App、视、SDI主框架C.视、文档、应用App、SDI主框架D.SDI主框架、文档、视、应用App21、下列关于构造函数的描述中,错误的是()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<iostream.h>voidfunc(intx,inty,intz){z=x*x+y*y;}voidmain(){intk=33;func(5,2,k);count<<k;}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、当执行完下列语句:inthot=100;int&rad=hot;hot+=100;cout<<rad<<endl;输出结果是()。A)0B)100C)200D)300二、名词解释1.什么是继承性?2.简述文档/视图结构的工作机制?3.解释“引用”与“指针”的区别?4.构造函数和拷贝构造函数的功能分别是什么?5.static局部变量和普通局部变量有什么区别?6.继承性7.多态性8.抽象性9.重载10.封装性三、综合题1.写出下列程序的输出结果()(程序阅读题)#include<iostream.h>classAA{public:AA(inti,intj) {A=i;B=j;cout<<"Constructor\n";} AA(AA&obj)ﻩ{A=obj.A+1;B=obj.B+2;cout<<"Copy_Constructor\n";} ~AA(){cout<<"Destructor\n";} voidprint(){cout<<"A="<<A<<",B="<<B<<endl;}private:intA,B;ﻩ};voidmain(){AAa1(2,3);AAa2(a1); a2.print(); AA*pa=newAA(5,6); pa->print();deletepa;}2.阅读下面程序,写出运营结果()(程序阅读题)#include<iostream.h>classSample{ intn;ﻩstaticintsum;public: Sample(intx){n=x;}ﻩvoidadd(){sum+=n;}ﻩvoiddisp(){cout<<"n="<<n<<",sum="<<sum<<endl;}};intSample::sum=0;voidmain(){ﻩSamplea(2),b(3),c(5);ﻩa.add();b.add();c.add();a.disp();ﻩb.disp();c.disp();}3.阅读下面程序,写出运营结果()(程序阅读题)#include<iostream.h>classA {ﻩpublic:virtualvoidfun(){cout<<"A::fun()"<<endl;}classB:publicA {public:classC:publicB {public:voidfun(){cout<<"C::fun()"<<endl;}voidf(A*p) {p->fun();}voidmain(){Aa,*p;ﻩBb;Cc;ﻩﻩp=&a;f(p);ﻩ p=&b;f(p); p=&c;f(p);ﻩ}4.阅读下面程序,写出运营结果()(程序设计题)#include<iostream.h>classTest{private:ﻩinti; staticintk;public: Test(); voidDisplay();};intTest::k=0;Test::Test(){ i=0;ﻩk++;}voidTest::Display(){ cout<<"i="<<i<<",k="<<k<<endl;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论