2022年面向对象程序设计复习题专科.docx
精选学习资料 - - - - - - - - - 面对对象程序设计复习题 专科一、单项挑选题1. 在类定义之外定义成员函数时,以下哪些说法是正确的();A. 必需在函数名之前加上类名和作用域符 C. 类定义中可以不声明该函数 B. 类的成员函数不行重载 D. 函数名前作用域符课省略2. 多重继承的构造次序一般可分为4 步,下面给出这4 个步骤:step1: 任何非虚拟基类的构造函数根据它们被继承的次序构造;step2: 任何虚拟基类的构造函数根据它们被继承的次序构造;step3: 任何成员对象的构造函数根据它们声明的次序构造;step4: 类自己的构造函数;这 4 个步骤的正确次序是();A. step4、step3、step1、step2 B. step2、step4、step3、 step1 C. step2、step1、step3、step4 D. step3、step4、step1、 step2 3. 假设 MyClass 是一个类,就该类的拷贝构造函数的声明语句为 ;A. MyClassMyClass p ; B. MyClass& MyClass p ;C. MyClassMyClass& p ; D. MyClassMyClass * p ;4. 重载运算符与原运算符可以不一样的是什么 ;A优先级 B操作数个数 C操作内容 D结合性5. 当用户进行鼠标操作时,释放鼠标左键会发出()消息;AWM_lBUTTONDOWN B WM_lBUTTONUP CWM_lBUTTONBLOCK DWM_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. 考虑函数原型 void testint a,int b=7,char="*", 下面的函数调用中,属于不合法调用的是()A. test5 ; B. test5,8 ; C. test6,"#" ; D. test0,0 ,"*" ;9. 假如在基类中将show 声明为不带返回值的纯虚函数,正确的写法是()A. virtual show =0 ; B. virtual void show ;C. virtual void show =0 ; D. void show =0 virtual ;10. 在 情形下相宜采纳 inline 定义内联函数;A. 函数体含有循环语句 B. 函数体含有递归语句C. 函数代码少、频繁调用 D. 函数代码多、不常调用11. 在以下表达中,不是 Windows 程序的特点是()A Windows 程序通过窗口与用户进行交互;程;BWindows 程序是应用大事驱动进行编CWindows 程序是利用消息进行通信; DWindows 程序是利用过程驱动的程序;1 / 7 名师归纳总结 - - - - - - -第 1 页,共 7 页精选学习资料 - - - - - - - - - 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. 在以下表达中,表达错误选项 AWindows 应用程序与掌握台Console程序的入口函数不同;B在基于 MFC 编写的程序中,其类大部分都是由 CObject 类派生出来CWM_LBUTTONDOWN、WM_RBUTTONUP 、WM_KEYDOWN 都是鼠标消息D对话框、图标、菜单、光标等在VC 中都可以是作为资源来处理18. 以下哪些是有关构造函数的错误说法 A.构造函数名与类名一样 B.构造函数在说明类对象时自动执行C.构造函数无任何函数类型 D.构造函数有且只有一个19. 下面有关重载函数的说法中正确选项()A. 重载函数必需具有不同的返回值类型;C. 重载函数必需有不同的形参列表B. 重载函数形参个数必需不同; D. 重载函数名可以不同;20. 当单文档应用框架接收到框架窗口的命令时,它将按如下次序来查找相应的消息掌握函数()A. 视、文档、 SDI 主框架、应用 App B. 文档、应用 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、最初的运算机编程语言是 ;2 / 7 名师归纳总结 - - - - - - -第 2 页,共 7 页精选学习资料 - - - - - - - - - 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) 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、以下程序的输出结果为:#include<iostream.h> void funcint x,int y,int z z=x*x+y*y; void main int k=33 ;func5,2,k ;count<<k ; A10 B33 C29 D 出错32、 设置虚基类的目的是();A) 简化程序;B) 排除二义性;C) 提高运行效率;D) 削减目标代码;33、 类的析构函数是在 调用的;A) 类创建时 B) 创建对象时C) 删除对象时 D) 不自动调用34、假设 MyClass 是一个类,就该类的拷贝构造函数的声明语句为 A)MyClassMyClass p ; B) MyClass& MyClass p ;C) MyClassMyClass& p ; D) MyClassMyClass * p ;35、 关于 delete运算符的以下描述中,()是错误的;A) 它必需用于 new 返回的指针;B) 使用它删除对象时要调用析构函数;C) 对一个指针可以使用多次该运算符;D) 指针名前只有一对方括号符号,不管所删除数组的维数;3 / 7 名师归纳总结 - - - - - - -第 3 页,共 7 页精选学习资料 - - - - - - - - - 36、结构化程序设计所规定的三种基本掌握结构是()A)输入、处理、输出 B) 树形、网形、环形 C) 次序、挑选、循环 D)主程序、子程序、函数 37、在以下的各类函数中,()不是类的成员函数;A)构造函数;B)析构函数;C)友元函数;D)拷贝初始化构造函数 38、下述对派生类的描述中,()是错的;A)一个派生类可以作为另一个派生类的基类 B)派生类至少有一个基类 C)派生类的成员出除了它自己的成员外,仍包含了它的基类的成员;D)派生类中继承的基类成员的拜访权限到派生类保持不变;39、静态成员函数没有();B)this 指针A)返回值C)指针参数D)返回类型40、当执行完以下语句:int hot=100 ; int &rad=hot ; hot+=100 ; cout<<rad<<endl ; 输出结果是();A)0 B )100 C)200 D )300 二、名词说明1. 什么是继承性?2. 简述文档 /视图结构的工作机制?3. 说明“ 引用” 与“ 指针” 的区分?4. 构造函数和拷贝构造函数的功能分别是什么?5. static 局部变量和一般局部变量有什么区分?6. 继承性 7.多态性 8.抽象性 9.重载 10.封装性三、综合题1. 写出以下程序的输出结果()(程序阅读题)#include <iostream.h> class AA public: AAint i,int j A=i ;B=j ;cout<<"Constructorn" ; A=obj.A+1 ;B=obj.B+2 ; cout<<"Copy_Constructorn" ; AAAA &obj AA cout<<"Destructorn"; void print cout<<"A="<<A<<",B="<<B<<endl; private: int A,B ; ;void main 4 / 7 名师归纳总结 - - - - - - -第 4 页,共 7 页精选学习资料 - - - - - - - - - AA a12,3 ;AA a2a1 ;a2.print ;AA *pa=new AA5,6;pa->print ; delete pa; 2. 阅读下面程序,写出运行结果() (程序阅读题)#include <iostream.h> class Sample int n;static int sum;public: Sampleint xn=x ; void addsum+=n ; void dispcout<<"n="<<n<<",sum="<<sum<<endl; ;int Sample:sum=0 ;void main Sample a2,b3,c5 ; a.add; b.add; c.add; a.disp; b.disp; c.disp; 3. 阅读下面程序,写出运行结果()(程序阅读题)#include <iostream.h> class A public: virtual void fun cout<<"A:fun"<<endl; ;class B: public A public: void fun cout<<"B:fun"<<endl; ;class C: public B public: void fun cout<<"C:fun"<<endl; ;void fA *p p->fun ; void main A a, *p ; B b;C c;p=&a ; fp ;p=&b ; fp ;p=&c ; fp ; 4. 阅读下面程序,写出运行结果() (程序设计题)#include <iostream.h> class Test private: int i ;static int k ;public: 5 / 7 名师归纳总结 - - - - - - -第 5 页,共 7 页精选学习资料 - - - - - - - - - Test;void Display ; ;int Test:k=0 ;Test:Test i=0 ;k+; void Test:Display cout<<"i="<<i<<",k="<<k<<endl; void main Test a,b;a.Display ;b.Display ; 5. 阅读下面程序,写出运行结果() (程序设计题)#include <iostream.h> void f2int &x, int &y int z = x ; x = y ; y = z; void f3int *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;f2x, y ;cout << "x,y=" << x << ", " << y << endl;f3&x, &y ;cout << "x,y=" << x << ", " << y << endl;x+; y- ;f2y, x ;cout << "x,y=" << x << ", " << y << endl; 6.以下 shape 类是一个表示外形的抽象类,area 为求图形面积的函数;请从shape 类派生三角形类 triangle 、矩形类( rectangle),请给出两个类中必要的成员变量和成员函数 的定义,其中必需含有详细的求面积函数;(程序设计题)class shape public: virtual float area =0 ; ;6 / 7 名师归纳总结 - - - - - - -第 6 页,共 7 页精选学习资料 - - - - - - - - - 7 / 7 名师归纳总结 - - - - - - -第 7 页,共 7 页