面向对象程序设计 3.docx

上传人:C****o 文档编号:25706689 上传时间:2022-07-13 格式:DOCX 页数:23 大小:52.83KB
返回 下载 相关 举报
面向对象程序设计 3.docx_第1页
第1页 / 共23页
面向对象程序设计 3.docx_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《面向对象程序设计 3.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计 3.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精品名师归纳总结系领导审批并签名A / B 卷广州高校 20072021 学年第 一 学期考试卷课程 面对对象程序设计 考试形式(闭卷,考试)学院系专业班级学号姓名题次一二三四五六七八九十总分 评卷人分数20204020100评分一、 填空题( 20 分)1、是特殊的成员函数,在对象作用域终止时自动调用。2、友元关系是非传递的和,除非特殊声明,否就,通常情形下如F 是 A的友元, AF的友元。3、运算符函数既可以重载为 函数,也可以重载为友元函数。4、在具有继承关系的类层次结构中,构造函数的执行次序是:、 、。5、具有纯虚函数的类称为。6、 Windows 应用程序的主窗口一般都是 类的派生类

2、,而窗口函数就被封装到 类中。7、 MFC是用消息映射表来实现消息与之间的映射的,MFC通过可编辑资料 - - - 欢迎下载精品名师归纳总结 个宏来声明和实现消息映射表。8、 MFC 采纳结构来实现数据和数据显示的分别。应用程序的数据是由文档类 对象来储备和治理。9、 CPaintDC 是 类 中最常用的派 生类, 它只能 使用在 类 的OnDraw函数中。10、消息的消息响应函数的函数名为OnMouseMove。11、是供 Windows应用程序使用的特殊数据,它们驻留在硬盘上的可执行文件中。常用的资源有、快捷键、图标、位图等。12、 就是指应用程序把数据对象以文件的形式写入永久性储备体后,

3、应用程序仍能从永久性储备体来读取它,并且可以依据该文件在内存中重新创建该对象的机制。二、简述题( 20 分,每题 5 分)(1) Windows应用程序的主函数有哪 3 个主要任务 . 什么是消息循环 .(2) 简述文档 / 视图结构中文档类和视图类的作用。并说明在文档/ 视可编辑资料 - - - 欢迎下载精品名师归纳总结图结构的应用程序中,视图类的对象是如何来猎取文档类对象中的数据的。(3) )应用程序的界面有哪三种方式?分别说明该界面应用程序的外观。4 鼠标消息分为哪两类?它们之间有什么区分?三、阅读以下程序,写出执行结果。(40 分,每题 5 分) 1、#include classcou

4、nterpublic:voidsetnum inti num = i。 voidshownum cout num t。 可编辑资料 - - - 欢迎下载精品名师归纳总结staticintnum 。intcounter : num = 1。void maininti。for i = 0。 i 5。 i + counter:num += i。cout counter:num t。 coutendl 。2、#include class Apublic:Aa=5。void printacoutA :a=aendl。private:int a。friend class B。 。可编辑资料 - - - 欢

5、迎下载精品名师归纳总结class Bpublic:void display1A tt.a+ 。 coutdisplay1: a=t.aendl。 void display2A tt.a- 。 coutdisplay2:a=t.aendl。 。void main A obj1 。 B obj2 。obj1.printa。obj2.display1obj1。obj2.display2obj1。obj1.printa。3、#include template class basepublic:baseT i,T jx=i 。 y=j。 T sumreturn x+y。 private: T x,y。可

6、编辑资料 - - - 欢迎下载精品名师归纳总结 。void main base obj23.3,5.5。coutobj2.sumendl。base obj13,5。coutobj1.sumendl。4、#include class Basepublic: void abccoutBase classendl。 。 。class Derived1: public Basepublic: void abccoutDerived1 classendl。 。 。class Derived2: public Basepublic: void abccoutDerived2 classabc 。p=&ob

7、j2。 p-abc 。p=&obj3。 p-abc 。obj1.abc。 obj2.abc。 obj3.abc。5、#include classparent_classintprivate1 , private2。public:parent_class intp1 ,intp2 private1 = p1。 private2 = p2。 intinc1 可编辑资料 - - - 欢迎下载精品名师归纳总结intinc2 return+ private1。 return+ private2。 可编辑资料 - - - 欢迎下载精品名师归纳总结voiddisplay cout private1= pri

8、vate1 , private2= private2 endl。 。classderived_class :privateparent_classintprivate3。可编辑资料 - - - 欢迎下载精品名师归纳总结parent_class private4。public :derived_class intp1 ,intp2 ,intp3 ,intp4 ,int p5 : parent_class p1 , p2 , private4 p3 , p4 private3 = p5。 可编辑资料 - - - 欢迎下载精品名师归纳总结intinc1 intinc3 returnparent_cl

9、ass : inc1 。 return+ private3。 可编辑资料 - - - 欢迎下载精品名师归纳总结voiddisplay parent_class : display 。 private4.display 。cout private3= private3 endl。 。void main derived_class d1 17 , 18 , 1 , 2 , -5 。d1 . inc1 。d1 . display 。6、#includeclass Apublic :Aint n i=n 。 cout “初始化 i 的值为: ” get_in。可编辑资料 - - - 欢迎下载精品名师归

10、纳总结A cout释“放 A 的对象。 ” n。int get_i return i 。 private: int i 。 。class B:public A public:Bintn,intm:Anj=m。cout “初 始 化j的 值为: ” get_jn 。 Bcout释“放 B 的对象。 ” n。int get_j return j 。 private: int j 。 。void mainB obj1,2 。cout “创建了一个 B 的对象。值为:” obj.get_i“”n。obj.get_j7、#include class A public:virtual void act1

11、。可编辑资料 - - - 欢迎下载精品名师归纳总结void act2 act1 。 。void A:act1coutA:act1 called. endl 。 class B : public Apublic:void act1。 。void B:act1cout B:act1 called. endl。void mainB b 。b.act2。8、指出以下程序中的错误,并说明理由class COMPLEXpublic:COMPLEXdouble r=0, double i=0 。COMPLEX operator-const COMPLEX & other 。COMPLEX operator=

12、const COMPLEX & other 。private:double real=0, image=0。 。void mainfloat x 。COMPLEX y10,20, z2,3, sum。sum= x-y。可编辑资料 - - - 欢迎下载精品名师归纳总结sum=sum-z。sum-。四、编程题:( 20 分,每题 10 分) 1使用虚函数编程求球体和圆柱体的体积及表面积。由于球体和圆柱体都可以看作由圆继承而来,所以可以定义圆类circle 作为基类。在 circle 类中定义一个数据成员 radius 和两个虚函数 area 和 volume 。由 circle 类派生 spher

13、e类和 column 类。在派生类中对虚函数 area 和 vlume 重新定义,分别求球体和圆柱体的体积及表面积。补充指定部分。#includeconst double PI=3.14。class circlepublic:circledouble rradius=r 。/补充此处protected:可编辑资料 - - - 欢迎下载精品名师归纳总结double radius。 。class sphere:public circlepublic:spheredouble r:circlerdouble areareturn 4.0*PI*radius*radius。 double volume

14、return 4.0*PI*radius*radius*radius/3.0 。可编辑资料 - - - 欢迎下载精品名师归纳总结 。class column: public circle/补/充此处可编辑资料 - - - 欢迎下载精品名师归纳总结 。void mainint a,b,c 。circle *p 。cout输入球体半径 a。可编辑资料 - - - 欢迎下载精品名师归纳总结sphere sobja。p=&sobj 。cout球体的体积 =/补充此处cout球体的表面积 /补充此处cout输入圆柱体的半径 ,高bc。column cobjb,c。p=&cobj 。cout圆柱体的体积 =volumeendl 。cout圆柱体的表面积 =areaendl。2使用成员函数或友员函数编程序重载运算符“+”,使该运算符能实现两个字符串的连接。可编辑资料 - - - 欢迎下载

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁