




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州大学现代远程教育 面向对象程序设计课程考核要求说明:本课程考核形式为提交作业,完成后请保存为WORD格式的文档,登陆学习平台提交,并检查和确认提交成功。一 作业要求1.请独立自主完成作业内容。二 作业内容一)、简答题:(每题 5 分,共30 分)1、异常处理的作用是什么? 答:答:(1).try和catch语句:将要处理的代码放入try块中,然后创建相应的catch块的列表。如果生成都异常与catch中提到的相匹配,那么catch条件中的块语句就被执行。try块后可能有许多catch块,每个都处理不同的异常。每个catch中的参数都是Exception的子类。 (2).finally语句:
2、定义一个总是执行的代码,而不考虑异常是否被捕获。(3).throw引起一个异常。2、什么是容器?什么是迭代器?什么是算法?他们之间有何关系?答:容器:容器能够通过模版的方法,装下各种类型的节点元素。迭代器:迭代器是一种smart pointer。迭代器是一种行为类似指针的对象。迭代器所指向的对象为容器 中元素(结构体)的节点。如定义一个class List的容器,容器的节点为ListItem,那么迭代器就应该指向(的对象)容器中的ListItem节点。 而迭代器通过重载*(解引用)运算符,从而就可以得到节点的值。通过重载operator-运算符就可以得到容器节点地址(指针) 算法:算法通过操作
3、容器对应的迭代器,就可以间接地操作容器中的元素。而不需要关注容器的内部细节 三者之间联系: 每个容器都有专属的迭代器,而算法通过迭代器对容器中的元素进行操作。3、什么是静态成员?有何特点?答:在c+类中声明成员时可以加上static关键字,这样声明的成员就叫做静态成员(包括数据成员和成员函数)。 静态成员的特点是:不管这个类创建多少个对象,其静态成员在内存中只保留一份副本,这个副本为该类的所有对象所共享。面对对象方法中还有类属性的概念,类属性是描述类的所有对象共同特征的一个数据项对于任何对象实例,它的属性值是相同的,C+通过静态数据成员来实现类属性。4、类的构造函数和析构函数有何特点?答:构造
4、函数主要用来对成员初始化和分配空间,析构函数用于执行一些清理任务,如释放分配给对象的内存空间等。构造函数有以下特点:(1)构造函数的名字必须与类名相同;(2)构造函数可以有任意类型的参数,但不能具有返回类型;(3)定义对象时,编译系统会自动地调用构造函数;(4)构造函数是特殊的成员函数,函数体可以在类体内,也可写在类体外;(5)构造函数被声明为公有函数,但它不能像其他成员函数那样被显式调用,它是在定义对象的同时被调用的。析构函数有以下特点:(1)析构函数的名字必须与类名相同,但它前面必须加一个波浪号 ;(2)析构函数没有参数,也没有返回值,而且不能被重载,因此在一个类中只能有一个析构函数;(3
5、)当撤销对象时,编译系统会自动地调用析构函数。5、类成员的访问权限有哪些?答:类成员的访问权限:继承有关public此成员都可公开调用;protected 同包或对继承的类才可公开调用,静态成员也必须继承后才能调用A.a或使用public;friendly对同包的类可以公开调用;private只有本类实例成员方法才可调用。6、面向对象的基本要素是什么?答:抽象、继承、封装、多态;二)、分析下面的代码,回答问题(每题 10 分,共 40 分)1下面程序的执行结果是什么?为什么?class Bprotected:virtual void f( )coutBendl;public:void g( )
6、f( );class C:public Bprotected:void f( )coutCf()调用C中的f。2下面程序的执行结果是什么?为什么?class Apublic:int n;class B:public A;class C:public A;class D:public B, public Cint getn() return B:n;void main()D d;d.B:n=10;d.C:n=20;coutd.B:nd.C:nendl;答:输出:10 20 D类是从b类和c类派生的,而b类和c类又都是从类派生的,但各有自己的副本。所以对于对象d,d.B:n与d.C:n是两个不同的
7、数据成员,互无联系。所以程序结果为:10,20 3. 下面程序的执行结果是什么?为什么?class Aprotected:int x;public:A()x=0;A(int val)x=val;void operator+(int)x+;class B:public Aint y;public:B():A()y=0;B(int val1, int val2):A(val1)y=val2;void operator-(int)x-;y-;void disp()coutxyendl;void main()B d(3,5);d.disp();d+;d.disp();d-;d-;d.disp();答:
8、输出:35 45 23Bd(3,5);/调用构造函数B(int,int) A(int) 得到x=3 y=5 d.disp();/打印35 d+;/调用继承自A的+函数,x+ 得到x=4 y=5 d.disp();/打印45 d-;/调用B的-函数,x=3 y=4 d-;/调用B的-函数,x=2 y=3 d.disp();/打印23 所以结果是35 45 234. 下面程序的执行结果是什么?为什么?Class APublic:virtual void disp() cout”class A”,endl;Class B:public APublic:void disp() cout”class B
9、”,endl;class C:public Apublic:void disp() cout”class C”disp();void main()B b;C c;Cdisp(&b);Cdisp(&c);答:输出:class B class C B类和c类是a类的派生,p作为参数时,是一个A的指针,但是编译时,调的disp是各自继承类成员函数。 所以输出是class B,class C。三、根据要求编写程序:(每题15分,共 30 分)1 设计一个父亲类Father、母亲类Mother和子女类Child,其主要数据是姓名,子女使用父亲的姓,最后输出子女的姓名和父母姓名。答:程序如下:#inclu
10、de #include using namespace std; class father public: father() father(string x,string m) this-x=x; this-m=m; void getx() cout陈; void show() cout父亲:xmendl; private: string x; string m; ; class mather public: mather(string x,string m) mx=x; mm=m; void show() cout母亲:mxmmendl; private: string mx; string
11、 mm; ; class child:public father public: child(string m) mm=m; void show() coutmmendl; private: string mm; ; void main() father f(陈,国强); mather m(李,丽); child c(文化); cout姓名:; c.getx(); c.show(); f.show(); m.show(); 运行结果如下:姓名:陈文化父亲:陈国强母亲:李丽2 设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符+,以实现两个三角形对象的面积之和
12、。答:Input 输入数据有多组,每组占二行,每行包括3个整数,表示三角形的三条边(保证能构成三角形)。Output 对于每组数据,输出占一行。先是第1个三角形的面积,然后是第2个三角形的面积,接下来是两个面积之和。中间用空格隔开。Sample Input 3 4 5 4 5 6 Sample Output 6.00 9.92 15.92 #include #include #include using namespace std; class Triangle private: double x,y,z; double p,m; static double s; public: Triangle(double a,double b,double c) x=a; y=b; z=c; p=(y+x+z)/2; m=sqrt(p*(p-x)*(p-y)*(p-z); s=s+m; void print() coutsetiosfl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 野望王绩赏析试题及答案
- 高级服务员试题及答案
- 逐步理解2025年注册土木工程师考试的试题及答案
- 别墅景观出售合同标准文本
- 劳动个人协议合同标准文本
- 运城小学考试题及答案
- 企业试用期合同范例
- 修小桥施工合同范例
- 高端化学实验挑战试题及答案
- 节拍训练中的准备工作乐理考试试题及答案
- 液压与气压传动(第5版)课件:气动控制阀及基本回路
- 2025年国家保安员试考试题库(附答案)
- 2025年消费电子行业分析报告
- 2025年成人急性髓系白血病(AML)患者手册
- 个体工商户雇工劳动合同书
- 2025-2030中国工程监理行业市场深度调研及面临的困境对策与发展战略研究报告
- 慢性鼻窦炎诊断和治疗指南(2024)解读 2
- 啤酒厂招聘合同协议
- 工程造价审计服务投标方案(技术方案)
- 如何获得好评的培训
- 急诊服务流程与服务时限培训
评论
0/150
提交评论