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

    面向对象程序设计答案(共6页).doc

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

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

    面向对象程序设计答案(共6页).doc

    精选优质文档-倾情为你奉上一、 简答题(每小题6分,共30分)1、 面向过程思想的优点是什么?与人类思维习惯一致;稳定性好:以object模拟实体,需求变化不会引起结构的整体变化,因为实体相对稳定,故系统也相应稳定;可重用性好;可维护性好2、 比较Java和C+?JAVA和C+都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c+为了照顾大量的C语言使用者,从而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,摒弃了其他语言的不足之处,从根本上解决了c+的固有缺陷。用C+可以使用纯过程化的编程,也可以是基于对象的编程,还可以是面向对象的编程,当然大部分是混合编程,c+可以跨平台3、 重载的意义?运算符重载,对已有的运算符重新进行定义,其另一种功能,以适应不同的数据类型。自定义类的重载函数的作用与内置赋值运算符的作用类似,但是要注意的是,它与与一样,要注意深拷贝浅拷贝的问题,在没有深拷贝浅拷贝的情况下,如果没有指定默认的赋值运算符重载函数,那么系统将会自动提供一个赋值运算符重载函数。4、 抽象类的作用和意义?抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象类。在C+中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色5、 多态的意义? 1.可替换性(substitutability)。多态对已存在具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形,如圆环,也同样工作。 2.可扩充性(extensibility)。多态对代码具有可扩充性。增加新的子类不影响已存在类的、继承性,以及其他的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态上,很容易增添球体类的多态性。3.接口性(interface-ability)。多态是通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。4.灵活性(flexibility)。它在应用中体现了灵活多样的操作,提高了使用效率。5.简化性(simplicity)。多态简化对的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。二、辩析。可以不说出对错但是要给出评价(每小题8分,共40分)1、任何父类对象都可以被子类对象替代。答:符合里氏替换原则即可、.public修饰符号破坏了数据的开放性。3、private继承方式不能产生子类。答:private方式派生的类不能完成父类的全部功能,所以不能产生子类。4、不能实例化的类一定是抽象类。答:一般来说,具有纯虚函数的类,被称为抽象基类,抽象基类是不能创建抽象类型的对象,而是该类的派生类去进行实例化,如果抽象类的派生类有任何一个纯虚函数没有具体的实现,那么该派生类仍然还是一个抽象类,即还是无法进行实例化对象5、面向对象思想适合解决复杂的问题。面向过程是一种思维方式。当试图通过面向过程解决问题时,我们的关注点在于问题解决的流程,重在这个过程的控制,需要用大量的模块(模块化的思想源自于硬件,在C语言中是函数)将大问题拆解,程序员通过控制模块的执行顺序以解决问题。在日常生活或者说日常编程中,简单的问题用面向过程的思路解决,更加直接有效,但是当问题的规模稍大时,如要描述三万个人吃饭的问题,或者要构建一个航空母舰模型的时候,用面向过程的思想是远远不够的。而且面向过程程序的代码复用性、可扩展性、可移植性、灵活性、健壮性都会在处理大规模问题中出现问题。二、 综合回答(每小题15分,共30分)1、面向对象程序设计思想的优点和缺点。2、设计一个复数类,实现复数的加、减操作。#include <iostream>using namespace std;class Complexpublic:Complex(double fReal = 0.0, double fImag = 0.0):m_fReal(fReal),m_fImag(fImag)public:double GetReal(void) const return m_fReal;double GetImag(void) const return m_fImag;public:void SetReal(double fReal)m_fReal = fReal;void SetImag(double fImag)m_fImag = fImag;public:void Print(void)cout << " " << m_fReal << " + " << m_fImag <<"i " << endl;/public:/ 前+,实部,虚部各加1Complex& operator+ (void)+m_fReal;+m_fImag;return *this;/ 后+,实部,虚部各加1/ 加const修饰,使得编译时就报错,避免对后+的连续使用const Complex operator+ (int)Complex old = *this;m_fReal+;m_fImag+;return old;public:Complex operator- (void)return Complex(-m_fReal,-m_fImag);public:Complex operator+ (const Complex &c)return Complex(m_fReal+c.m_fReal,m_fImag+c.m_fImag);Complex operator- (const Complex &c)return Complex(m_fReal-c.m_fReal,m_fImag-c.m_fImag);Complex& operator+= (const Complex &c)m_fReal += c.m_fReal;m_fImag += c.m_fImag;return *this;Complex& operator-= (const Complex &c)m_fReal -= c.m_fReal;m_fImag -= c.m_fImag;return *this;private:double m_fReal;double m_fImag;/放在哪里无所谓,但要在类中声明friend ostream& operator<< (ostream &os, const Complex &c);friend istream& operator>> (istream &is, Complex &c);ostream& operator<< (ostream &os, const Complex &c)/*return os<<" " <<c.GetReal()<<" + "<<c.GetImag()<<"i "<<endl;*/return os << " "<<c.m_fReal<<" + "<<c.m_fImag<<"i "<<endl;/ return os;istream& operator>> (istream &is, Complex &c)return is>>c.m_fReal>>c.m_fImag;int main(void)Complex c1(10,10);Complex c2(20,20);cout << "c1:" << c1 << "c2:" << c2;/*c1.Print();c2.Print();cout << "请输入实部和虚部:"cin>>c1;cout<<c1<<c2<<endl;*/*cout << c1 << c2;Complex c3 = c1 + c2;cout << c3;Complex c4 = c3 - c2 - c1;cout << c4;*/*Complex c3(30,30);cout << "c3:" << c3 << endl;c3 += c2 += c1;cout << "c1:" << c1;cout << "c2:" << c2;cout << "c3:" << c3;*/*Complex c3(30,30);cout << "c3:" << c3 << endl;(c3 += c2) += c1;cout << "c1:" << c1;cout << "c2:" << c2;cout << "c3:" << c3;*/cout << "-c1:" << -c1;/*int n=10;cout << +n << endl; / 14/cout << n+ << endl; / 错误*/cout << "+c1:" << +c1 ;cout << "c2+:" << c2+ ;cout << "c2:" << c2;/cout << "c2+:" << c2+; / 编译报错return 0;专心-专注-专业

    注意事项

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

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




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

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

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

    收起
    展开