欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年面向对象程序设计作业 .pdf

    • 资源ID:31704982       资源大小:55.51KB        全文页数:9页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年面向对象程序设计作业 .pdf

    郑州大学现代远程教育 面向对象程序设计 课程考核要求说明:本课程考核形式为提交作业,完成后请保存为WORD 2003版本格式的文档,登陆学习平台提交,并检查和确认提交成功(能够下载,并且内容无误即为提交成功)。一作业要求1. 请独立自主完成作业内容。二作业内容一) 、简答题:(每题 5 分,共 30 分)1什么是抽象类?它有什么特点?答:抽象类与接口紧密相关,它们不能示例化,并且常常部分实现或根本不实现。特点: 1 、抽象类不能直接实例化 2 、允许 (但不要求 ) 抽象类包含抽象成员。 3 、抽象类不能被密封2C+ 中使用多态的前提条件是什么?答:动态多态的前提条件: 1.通过调用虚函数实现多态 2.通过基类的指针或引用调用虚函数3. 什么是类?类与结构有和不同?答:类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存不同:类有构造和析构函数,类可以继承和被继承结构没有构造函数,但可以添加。结构没有析构函数,结构不可以继承自另一个结构或被继承,但和类一样可以继承自接口。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 4. 面向对象的特征有哪些?答:封装,继承,多态 5. 简述 this指针的含义是什么?答:this指针是一个隐含于每一个成员函数中的特殊指针。它是一个指向正在被该成员函数操作的对象, 也就是要操作该成员函数的对象。6. 友元关系具有什么特点?答:友元函数的特点是能够访问类中的私有成员的非成员函数。友元函数从语法上看, 它与普通函数一样, 即在定义上和调用上与普通函数一样。二) 、分析下面的代码,回答问题(每题 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()coutdmendl; 然后利用对象 c 调用 Show(), 2下面代码的执行结果是什么?为什么?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - class A int n; public: A() ; A(int i)n=i; A() coutn=nendl; ; class B A a; int m; public: B(int i,int j):a(i)m=j; B()coutm=mendl; ; void main() B b(1,2); 答:执行结果:n=1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - m=2 原因: b 对象里包含一个A类的对象, b 对象在析构时先调用A 的析构函数,再调用 B自身的析构函数3. 下面代码的执行结果是什么?为什么?class Sample int n; public: Sample(); Sample(int i)n=i; Sample& operator=(Sample); void disp()coutn=nendl; ; Sample & Sample:operator=(Sample s) Sample:n=s.n; return *this; void main() Sample s1(10),s2; s2=s1; s2.disp(); 答:结果:n=10 Sample 重载了赋值操作符,可以用Sample 的一个对象去初使化另一个对象, s2 对象被已经初使化的s1 所初使化4. 下面代码的执行结果是什么?为什么?class A public: A(char *s) coutsendl; A(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - ; class B:virtual public A public: B(char *s1,char*s2):A(s1) couts2endl; ; class C:virtual public A public: C(char* s1,char* s2) : A(s1) couts2endl; ; class D: public B, public C public: D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s1,s2),A(s1) couts4endl; ; 创 建 对 象 的 语 句 : D d(“class A”, ”class B”, ”class C”, ”class D ”); 执行结果是什么?为什么?答:执行结果:class A class B class C class D 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - 三) 、根据要求编写完整程序: (每题 15 分,共 30 分)1设计复数类的加法运算操作,使之能够执行下列运算:( 15 分)Complex x(3,6), y(4,5), z(0,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 complex: rm; real = r; image = m; complex:complex(int r,int i) real=r; image=i; return; complex complex:operator+(const complex& other) complex temp; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - temp.real=real+other.real; temp.image=image+other.image; return temp; complex complex:operator+(const int &a) complex 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 High public: unsigned int h; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - virtual void disp(); ; class Cuboid:public High Public: unsigned int length; unsigned int width; virtual void disp()coutlength*width*hendl; ; Class Cylinder:public High Public: unsigned int r;/半径virtual void disp()cout3.14159*r*r*hdisp(); objB.r=5; objB.h=10; p=&objB; p-disp(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -

    注意事项

    本文(2022年面向对象程序设计作业 .pdf)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开