




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州高校现代远程教化 面对对象程序设计课程考核要求说明:本课程考核形式为提交作业,完成后请保存为WORD 2003版本格式的文档,登陆学习平台提交,并检查和确认提交胜利(能够下载,并且内容无误即为提交胜利)。一 作业要求1.请独立自主完成作业内容。二 作业内容一)、简答题:(每题 5 分,共30 分)1什么是抽象类?它有什么特点?答: 抽象类和接口紧密相关,它们不能示例化,并且经常部分实现或根本不实现。 特点: 1、抽象类不能干脆实例化 2、允许(但不要求)抽象类包含抽象成员。 3、抽象类不能被密封2 C+中运用多态的前提条件是什么? 答:动态多态的前提条件: 1.通过调用虚函数实现多态 2.
2、通过基类的指针或引用调用虚函数3. 什么是类?类和结构有和不同? 答:类是引用类型在堆上安排,类的实例进行赋值只是复制了引用,都指向同一段实际对象安排的内存 不同:类有构造和析构函数,类可以继承和被继承结构没有构造函数,但可以添加。结构没有析构函数,结构不行以继承自另一个结构或被继承,但和类一样可以继承自接口。4. 面对对象的特征有哪些? 答:封装,继承,多态 5. 简述this指针的含义是什么? 答:this指针是一个隐含于每一个成员函数中的特别指针。它是一个指向正在被该成员函数操作的对象,也就是要操作该成员函数的对象。6. 友元关系具有什么特点?答:友元函数的特点是能够访问类中的私有成员的
3、非成员函数。友元函数从语法上看,它和一般函数一样,即在定义上和调用上和一般函数一样。二)、分析下面的代码,回答问题(每题 10 分,共 40 分)1 分析下面的代码,指出其中的错误,说明理由并改正class C public: int fn1( int x ) dm = x ; private: int dm; ;void main ( ) C c;c.fn1(16 );cout << c.dm << n;答:/dm为私有变量,是不能通过对象干脆访问的,正确的做法是添加一个public类型的方法,如public void Show()cout<<dm<
4、<endl;然后利用对象c调用Show(),2下面代码的执行结果是什么?为什么?class Aint n;public:A() ;A(int i)n=i;A() cout<<"n="<<n<<endl;class B A a; int m;public:B(int i,int j):a(i)m=j;B()cout<<"m="<<m<<endl;void main()B b(1,2);答:执行结果:n=1m=2缘由:b对象里包含一个A类的对象,b对象在析构时先调用A的析构函数,再
5、调用B自身的析构函数3.下面代码的执行结果是什么?为什么?class Sampleint n;public:Sample();Sample(int i)n=i;Sample& operator=(Sample);void disp()cout<<"n="<<n<<endl;Sample & Sample:operator=(Sample s)Sample:n=s.n;return *this;void main()Sample s1(10),s2; s2=s1; s2.disp();答:结果:n=10Sample重载了赋值
6、操作符,可以用Sample的一个对象去初使化另一个对象,s2对象被已经初使化的s1所初使化4. 下面代码的执行结果是什么?为什么?class Apublic:A(char *s) cout<<s<<endl;A();class B:virtual public Apublic:B(char *s1,char*s2):A(s1)cout<<s2<<endl;class C:virtual public Apublic:C(char* s1,char* s2) : A(s1)cout<<s2<<endl;class D: pu
7、blic B, public Cpublic:D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s1,s2),A(s1)cout<<s4<<endl;创建对象的语句: D d(“class A”,”class B”,”class C”,”class D”);执行结果是什么?为什么?答:执行结果:class Aclass Bclass Cclass D三)、依据要求编写完整程序:(每题15分,共 30 分)1设计复数类的加法运算操作,使之能够执行下列运算:( 15 分)Complex x(3,6), y(4,5), z(0
8、,0);z = x + y;z=2.4 + x;z=y + 3.5答:class complex public: complex(int r=0,int i=0);/构造 complex operator+(const complex& other); complex Complex:operator+(const int &a);void complex:input()protected: int real,image; ; void complex:input()int real,image;cout << "please enter a comple
9、x: " << endl;cin>>r>>m;real = r;image = m;complex:complex(int r,int i) real=r; image=i; return; complex complex:operator+(const complex& other) complex temp; temp.real=real+other.real; temp.image=image+other.image; return temp; complex complex:operator+(const int &a)co
10、mplex temp;temp.real= real +a;temp.image = image;return temp;int main(int argc,char* argv)complex a,b,c;a.input();b.input();c = a +b;/输出c = 5 +a;/输出c = b +5;/输出 2. 设计High类,其数据成员为高h,定义虚函数disp()。由High派生出长方体类Cuboid和圆柱体类Cylinder。在主函数中用基类指针变量p调用虚函数disp()显示长方体和圆柱体的体积。(15分)答:class Highpublic:unsigned int h;virtual void disp();class Cuboid:public HighPublic:unsigned int length;unsigned int width;virtual void disp()cout<<length*width*h<<endl;Class Cylinder:public High Public:unsigned int r;/半径virtual void disp()cout<<3.14159*r*r*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程施工风险评估合同
- 螺杆钻探分包合同范本
- 海底设施施工中的潜水员作业安全考核试卷
- 苏教版四上第11课《田园诗情》课件
- 工业互联网安全防御策略与网络安全风险评估考核试卷
- 稀土元素在石油化工的角色考核试卷
- 玻璃工厂生产流程优化考核试卷
- 租赁业务的风险评估与控制措施考核试卷
- 乳品行业品牌建设与维护考核试卷
- 侥幸心理培训资料
- 2025年高考历史总复习高中历史必修二八大专题知识复习提纲
- 2025事业单位考试题库及答案200题
- 临床执业医师考试健康教育技能试题及答案
- 机车车辆试题及答案
- 新版《医疗器械经营质量管理规范》(2024)培训试题及答案
- 健合集团笔试在线测评题
- FZ/T 13056-2021涤粘混纺色纺弹力布
- 构图基础课件
- 礼仪文书写作课件
- 20CrMnTi较详细材料属性
- 99S203 消防水泵接合器安装图集
评论
0/150
提交评论