ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:18.02KB ,
资源ID:6501884      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6501884.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计1.docx

1、面向对象程序设计1系领导审批并签名A / B卷广州大学 20072008 学年第 一 学期考试卷课程 面向对象程序设计 考试形式(闭卷,考试)学院 系 专业 班级 学号 姓名 题次一二三四五六七八九十总分评卷人分数20204020100评分一、 填空题(20分)1、 _ _是特殊的成员函数,在对象作用域结束时自动调用。2、 友元关系是非传递的和_ _,除非特别声明,否则,通常情况下若F是A的友元,A_ _F的友元。3、 运算符函数既可以重载为_ _函数,也可以重载为友元函数。4、 在具有继承关系的类层次结构中,构造函数的执行顺序是:_ _、_ _ _、 。5、 具有纯虚函数的类称为_ _。6、

2、 Windows应用程序的主窗口一般都是_ _类的派生类,而窗口函数则被封装到_ _类中。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、#includeclass counter public : void s

4、etnum ( int i ) num = i ; void shownum ( ) cout num t ; static int num ; ;int counter : num = 1 ; void main() int i ; for( i = 0 ; i 5 ; i + ) counter:num += i ; cout counter:num t ; coutendl;2、#include class Apublic: A()a=5; void printa()coutA:a=aendl;private: int a; friend class B;class Bpublic: v

5、oid display1(A t)t.a+; coutdisplay1:a=t.aendl; void display2(A t)t.a-; coutdisplay2:a=t.aendl;void main() A obj1; B obj2; obj1.printa(); obj2.display1(obj1); obj2.display2(obj1); obj1.printa();3、#include template class base public: base(T i,T j)x=i; y=j; T sum()return x+y; private: T x,y; ;void main

6、( ) base obj2(3.3,5.5); coutobj2.sum()endl; base obj1(3,5); coutobj1.sum()endl; 4、#includeclass Base public: void abc()coutBase classendl;class Derived1: public Base public: void abc()coutDerived1 classendl;class Derived2: public Base public: void abc()coutDerived2 classabc(); p=&obj2; p-abc(); p=&o

7、bj3; p-abc(); obj1.abc(); obj2.abc(); obj3.abc();5、#include class parent_class int private1 , private2 ; public : parent_class ( int p1 , int p2 ) private1 = p1; private2 = p2; int inc1 () return + private1; int inc2 () return + private2 ; void display () cout private1= private1 , private2= private2

8、 endl ; ;class derived_class : private parent_class int private3 ; parent_class private4 ; public: derived_class ( int p1 , int p2 , int p3 , int p4 , int p5 ): parent_class ( p1 , p2 ) , private4 ( p3 , p4 ) private3 = p5 ; int inc1 ( ) return parent_class : inc1 ( ) ; int inc3 ( ) return + private

9、3 ; void display ( ) 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 A public : A(int n) i=n ; cout“初始化i的值为:”get_i()n; A() cout“释放A的对象。”n ; int get_i () re

10、turn i ; private : int i ; ;class B : public A public : B(int n, int m) : A(n) j=m ; cout“初始化j的值为:”get_j()n ; B() cout“释放B的对象。”n ; int get_j () return j ; private : int j ; ;void main()B obj (1,2) ;cout“创建了一个B的对象。值为: ”obj.get_i()“ ”obj.get_j()n ; 7、#includeclass A public:virtual void act1();void act

11、2() act1();void A:act1() coutA:act1() called. endl;class B : public A public:void act1();void B:act1() coutB:act1() called. endl;void main() B b; b.act2();8、指出下列程序中的错误,并说明理由class COMPLEX public : COMPLEX(double r=0, double i=0) ; COMPLEX operator-(const COMPLEX & other) ; COMPLEX operator=(const COM

12、PLEX & other) ;private : double real=0, image=0 ;void main() float x ; COMPLEX y (10,20), z (2,3), sum ; sum= x-y ; sum=sum-z ; sum- ;四、编程题:(20分,每题10分)1使用虚函数编程求球体和圆柱体的体积及表面积。由于球体和圆柱体都可以看作由圆继承而来,所以可以定义圆类circle 作为基类。在 circle 类中定义一个数据成员 radius 和两个虚函数area( ) 和 volume( ) 。由circle 类派生 sphere 类和 column 类。在

13、派生类中对虚函数 area( ) 和 vlume( ) 重新定义,分别求球体和圆柱体的体积及表面积。补充指定部分。#includeconst double PI=3.14;class circlepublic:circle(double r)radius=r; /补充此处protected:double radius;class sphere:public circlepublic:sphere(double r):circle(r)double area()return 4.0*PI*radius*radius;double volume()return 4.0*PI*radius*radius*radius/3.0;class column: public circle /补充此处 ;void main()int a,b,c; circle *p; cout输入球体半径a; sphere sobj(a); p=&sobj; cout球体的体积= /补充此处 cout球体的表面积 /补充此处 cout输入圆柱体的半径,高bc; column cobj(b,c); p=&cobj; cout圆柱体的体积=volume()endl; cout圆柱体的表面积=area()endl;2使用成员函数或友员函数编程序重载运算符“+”,使该运算符能实现两个字符串的连接。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1