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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(面向对象程序设计考前复习题及答案.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

面向对象程序设计考前复习题及答案.doc

1、简答题 1、 传统的结构化程序设计的优点和缺点是什么? 优点: ( 1) 这种程序设计方法力求算法描述准确。 ( 2) 对每一子过程模块容易进行程序正确性证明。 缺点: ( 1) 这种程序设计方法本质上是面向”过程”的, 而”过程”和”操作”又是不稳定和多变的, 因此不能直接反映人类求解问题的思路。 ( 2) 程序代码可重用性差。程序中除少数标准库函数外, 每设计一个程序时, 程序员几乎从零做起。即使重用代码, 一般也是经过拷贝或编辑重新生成一份。 ( 3) 维护程序的一致性困难。该种方法将数据与对数据进行处理的程序代码分离。 2、 什么是对象? 每个对象都具有属

2、性( Attribute) 和方法( Method) 这两方面的特征。对象的属性描述了对象的状态和特征, 对象的方法说明了对象的行为和功能, 而且对象的属性值只应由这个对象的方法来读取和修改, 两者结合在一起就构成了对象的完整描述。 3、 什么是消息? 在面向对象的程序设计中, 由于对象描述了客观实体, 它们之间的联系经过对象间的联系来反映。当一个对象需要另外一个对象提供服务时, 它向对方发出一个服务请求, 而收到请求的对象会响应这个请求并完成指定的服务。这种向对象发出的服务请求就称为消息。 4、 什么是多态性?  所谓多态性是指当程序中的其它部分发出同样的消息时, 按照接收消息

3、对象的不同能够自动执行类中相应的方法。其好处是, 用户不必知道某个对象所属的类就能够执行多态行为, 从而为程序设计带来更大方便。 5、 什么是面向对象的程序设计方法? 这种方法将设计目标从模拟现实世界的行为转向了模拟现实世界中存在的对象及其各自的行为。   在OOP中, 将”对象”作为系统中最基本的运行实体, 整个程序即由各种不同类型的对象组成, 各对象既是一个独立的实体, 又可经过消息相互作用, 对象中的方法决定要向哪个对象发消息、 发什么消息以及收到消息时如何进行处理等。 6、 面向对象方法的特点是什么? ( 1) OOP以”对象”或”数据”为中心。由于对象自然地反映了

4、应用领域的模块性, 因此具有相对稳定性, 能够被用作一个组件去构成更复杂的应用, 又由于对象一般封装的是某一实际需求的各种成分, 因此, 某一对象的改变对整个系统几乎没有影响。 ( 2) 引入了”类”( class) 的概念。类与类以层次结构组织, 属于某个类的对象除具有该类所描述的特性外, 还具有层次结构中该类上层所有类描述的全部性质, OOP中称这种机制为继承。 ( 3) OOP方法的模块性与继承性, 保证了新的应用程序设计可在原有对象的数据类型和功能的基础上经过重用、 扩展和细化来进行, 而不必从头做起或复制原有代码, 这样, 大大减少了重新编写新代码的工作量, 同时降低了程序设计过

5、程中出错的可能性, 达到了事半功倍的效果。 7、 面向对象的程序设计方法与结构化程序设计方法的比较 ( 1) 传统的结构化程序设计方法以过程为中心构造应用程序, 数据和处理数据的过程代码是分离的、 相互独立的实体, 设计出的程序可重用代码少, 且当代码量增加时维护数据和代码的一致性困难。 ( 2) 面向对象程序设计方法中, 对象所具有的封装性和继承性使得代码重用成为可能, 并大大减少了程序出错的可能性。 ( 3) 面向对象方法吸收了结构化程序设计方法的优点, 同时引入了新概念、 新机制并建立了比传统方法更高层次的抽象。 二、 选择题 略 三、 填空题      (1)

6、类是一个支持集成的抽象数据类型, 而对象是类的 【1】 。   【参考答案】   【1】实例   (2)在C++语言的面向对象程序设计框架中, 【2】 是程序的基本组成单元。   【参考答案】   【2】类   (3)C++语言程序的注释能够出现在程序中的任何地方, 一个注释以 【3】 作为开始和结束的标记。   【参考答案】 【3】/* */   (4)以下程序的输出结果是 【4】 。 #include "iostream.h" void fun() { static int a; a+=2; cout << a << " "; } void main()

7、 { int cc; for(cc=1;cc<4;cc++) fun(); cout << endl;}   【参考答案】   【4】2 4 6     (5)下列程序在构造函数和析构函数中申请和释放类的数据成员int *a, 申请时使用形参b初始化a, 请填空。   class A   { public:   A(int b);   ~A();   private:   int *a; };   A::A(int b)   { 【5】 ; }   A::~A()   { 【6】 ; }   【参考答案】   【5】a = new int(b); 【6】d

8、elete a   6. 多态性与【7】和【8】共同构成面向对象程序设计的三大机制。   【参考答案】   【7】数据封装 【8】继承   (7)将x+y*z中的"+"用成员函数重载, "*"用友元函数重载应写为 【9】 。   【参考答案】   【9】x. operator+(operator*(y,z))  (8)派生类的成员一般分为两部分, 一部分是 【10】 , 另一部分是自己定义的新成员。   【参考答案】   【10】从基类继承的成员 (9)以下程序输出的结果是 【11】 。  #include "iostream.h" void main() {i

9、nt a=5,b=4,c=3,d; d=(a>b>c); cout<

10、果为1 2 3, 请填空。   #include  template  class A   { public:   T x,y,z;   void display(){cout << x << " " << y << " " << z;} };   void main()   { Aa1;   【15】   【16】   【17】   a1.display(); }   【参考答案】   【15】a1.x=1 【16】a1.y=2 【17】a1.z=3   (14)下列程序段的输出结果是 【18】 。   cout << fixed << 509. << endl;

11、   【参考答案】   【18】509.123457 四、 综合应用题 1. 使用VC6打开考生文件夹下的工程kt15_3。此工程包含一个kt15_3.cpp, 其中定义了类A、 A1和A2, 其中A1类由A类公有派生, A2类由A1类公有派生。上述三个类的定义并不完整, 请按要求完成下列操作, 将程序补充完整。   ( 1) 定义类A的构造函数, 该构造函数有一个整型的参数x, 在构造函数中请将x赋值给数据成员a。请在注释”//**1**”之后添加适当的语句。   ( 2) 定义类A1的构造函数, 该构造函数有两个整型参数x和y, 在构造函数中请将x赋值给数据成员b, 将y作为基

12、类A构造函数的参数值传入。请在注释”//**2**”后添加适当的语句。   ( 3) 定义类A2的构造函数, 该构造函数有三个整型的参数x, y和z, 在构造函数中请将x赋值给数据成员c, 将y和z分别赋值给基类A1构造函数的参数x和y。请在注释”//**3**”之后添加适当的语句。   ( 4) 完成类A2的成员函数show的定义, 该函数调用基类成员函数, 输出基类数据成员a和b及类A2自身的数据成员c的值, 上述三个值在输出时以空格隔开。请在注释”//**4**”之后添加适当的语句。   注意: 除在指定位置添加语句之外, 请不要改动程序中的其它内容。   程序输出结果如下:

13、   9   6   962   源程序文件kt15_3.cpp清单如下:   #include   classA   { inta;    public:    //**1**    intgeta(){returna;} };   classA1:publicA   { intb;    public:    //**2**    intgetb(){returnb;} };   classA2:publicA1   { intc;    public:    //**3**    voidshow()  

14、  { //**4** } };   voidmain()   { A2a(2,6,9);    cout<

15、阅读程序题(写出程序运行结果) 1 .#include #include class Student { public: Student(char *pName="No name") { cout<<"构造新同学: "<

16、copy of "<

17、 Student student; }; void main() { Student st1; Student st2("zhang"); Tutor tutor(st2); } 2. #include "iostream.h" class B1 {protected: int b1; public: B1(int val1) { b1=val1; cout<<"base1 is called"<

18、 int b2; public: B2(int val2) { b2=val2; cout<<"base2 is called"<

19、lass is called";} void main() { D dobj(1,2,3); } 3. # include # include class married {private: int number; char *name; public: static int glob; void set_mes (char *a); } ; void married :: set_mes

20、 (char *a) {name = new char[strlen(a) + 1] ; strcpy (name, a) ; number=++glob; cout << " 编号:"<

21、) { cout << " 输入姓名: "; cin >> str ; person[i].set_mes ( str ) ; } cout< template class ABC { private: T array [I] ; public: void set (int x)

22、{ int i; for (i=0; i

28、ic A { private: int b; public: B(int j=-1){b=j;} }; void commfun(A &aref) { aref.print(); } void main() {A a; commfun(a); B b; commfun(b); } 8. #include ”iostream.h” class X1() { private: int x; public:

29、 X1(int i) { x=i; } int getx(); friend void sum(X1 &a, X1 &b); }; int X1::getx(){ return x;} void sum(X1 &a,X1 &b) {cout<<"用友元函数求各和: "<

30、 { X1 m(1); X1 n(2); sum(m,n); sum1(m,n);} 答案: 1. 执行结果如下: 构造新同学: No name 构造新同学: zhang 构造copy of zhang 构造指导教师 析构 copy of zhang 析购zhang 析构 No name 2. 该程序的执行结果是: base1 is called base2 is called derived class is called 3. 程序的结果: Zhang 编号1 Wang 编号2 Li 编号3 4. 程序的结果

31、 数组元素总数为: 50 array[49]=49 数组元素总数为: 100 array[99]=109 5.其执行结果是: construct student. construct teacher. construct tourpair. back in main. 6. 程序的运行结果为: x=100,y=200 In myfunc: x=9,y=10 Myclass::x=100,Myclass::y=200 7. 程序的运行结果为: In class A, print() is called. In class A,

32、 print() is called. 8. 程序的运行结果为: 用友元函数求各和: 3 用普通函数调用类公共接口函数求和: 3 六、 编程题 1.定义类模板ABC, 内含成员函数set和get。用ABC生成对象abc1和abc2。它们的数组元素数不同, 显示的结果也不同。 # include // 定义类模板ABC template class ABC { private: T array [I] ; // 定义数组array public: void set (int x)

33、// 定义成员函数set { int i; for (i=0; i

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服