c面向对象程序设计教程习题答案_第1页
c面向对象程序设计教程习题答案_第2页
c面向对象程序设计教程习题答案_第3页
c面向对象程序设计教程习题答案_第4页
c面向对象程序设计教程习题答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c 面向对象程序设计教程习题答案 【篇一: c+程序设计教程 -面向对象分册 (郑秋生)完整答案】、 选择题1.c 2.b 3.c 4.a 5.c6.a 7.c 8 c 9a 10 c 二、阅读题1x=2,y=32x=2,y=3 x!=y3cstatic:va1=0 cs1.vai=1 cs2.val=2 cs1.val=4 cs2.vai=4 四、改错题#include string.h #include iostream.h class person public:person(int n,char* nam,char s) num=n; strcpy(name,nam);sex=s;co

2、utconstructor called.endl; person( ) coutdestructor called.endl; void display( )coutnum: numendl; coutname: nameendl;coutsex: sexendlendl; private: int num;char name10; char sex;int main( ) person s1(10010,wang_li,f); s1.display( );person s2(10011,zhang_fun,m); s2.display( ); return 0;五、编程题51#includ

3、e iostream using namespace std; class cbox public :cbox(double l=0,double w=0,double h=0); double area(); double volume ();private : double lengh; double width; double high;cbox:cbox(double l,double w,double h) lengh=l; width=w; high=h;double cbox:area() return 2*(lengh*width+lengh*high+width*high);

4、double cbox:volume ()return lengh*width*high; void main() cbox box1(4,5,6); coutbox1.area()endl;coutbox1.volume()endl; 5.2#include iostream using namespace std; class cpoint public :cpoint(double a=0,double b=0) x=a; y=b;cpoint(cpoint p) x=p.x; y=p.y; void print() cout(x,y); private : double x,y;cla

5、ss cline public:cline(double x1=0,double y1=0,double x2=0,doubley2=0):p1(x1,y1),p2(x2,y2) cline(cpoint x,cpoint y):p1(x),p2(y)cline(cline lin) p1=lin.p1; p2=lin.p2; void drawline()coutline form; p1.print(); coutto; p2.print(); coutendl;void linedel() coutdelete lineendl; void move(cpoint x,cpoint y)

6、 coutmove lineendl; p1=x; p2=y;private : cpoint p1,p2;void main() cpoint point1(1,5),point2(5,8),point3(20,30),point4(40,50);cline line1(point1,point2); cline line2(2,3,8,12); line1.drawline (); line2.drawline ();line2.move(point3,point4);line2.drawline (); line2=line1; line2.drawline (); line1.line

7、del ();5.3#include iostream using namespace std; class ccomplexpublic:ccomplex(double, double);ccomplex(ccomplex c); / 复数类的拷贝构造函数声明 double getreal(); double getimag();void print(); private: double real; double imag;ccomplex:ccomplex (double r=0.0, double i=0.0) real = r; imag = i;cout 调用两个参数的构造函数 en

8、dl; ccomplex:ccomplex (ccomplex c) / 复数类的拷贝构造函数定义 real = c.real; imag = c.imag;cout 调用拷贝构造函数 endl; double ccomplex:getreal()return real; double ccomplex:getimag()return imag; void ccomplex:print() / 显示复数值cout ( real , imag ) endl; ccomplex add(ccomplex x,ccomplex y) / 普通函数完成两个数的加法,对象作为函数参数 , return

9、ccomplex(x.getreal() +y.getreal() ,x.getimag()+y.getimag ();void main(void) ccomplex a(3.0,4.0), b(5.6,7.9);ccomplex c(a); / 调用复数类的拷贝构造函数cout a = ;a.print(); cout b = ;b.print(); cout c = ;【篇二: c 面向对象程序设计习题解答 (全)】s=txt 陈腊梅目录第一章 面向对象程序设计概述 .错误!未定义书签。 第二章对 c 语言的基础扩充 . 错误!未定义书签。 第三章 类和对象的初步探讨 .错误!未定义书签

10、。 第四章 类和对象的进一步解析 . 错误!未定义书签。 第五章 在对象中使用运算符 运算符重载 . 错误!未定义书签。 第六章 继承与派生 . 2 第七章 多态性与虚函数 . 2第一章 面向对象程序设计概述一、选择题二、填空题 1、多态性 2、成员函数 3、抽象 4、处理这些数据的操作或处理这些数据的函数 5、面向对象分析、面向对象分析、面向对象编程、对象对象测试、面向对象维护第二章对 c 语言的基础扩充二、程序阅读题 1 答案a=639,b=78,c=122 答案 a=5,b=8 a=8,b=53 答案 104 答案x=20.6 y=5 z=a x=216.34y=5 z=a x=216.

11、34 y=2 z=a x=216.34 y=2 z=e5 答案 ic=11 fc=7.82 ic=5 fc=2.15第三章类和对象的初步探讨一、选择题二、填空题1 数据成员 、 成员函数2 private 、 protected 、 public 3 指向对象的指针、对象的引用4 属性、行为、属性、行为 5 对象 、 属性和操作这些属性的操作 、 对外隐藏 四、程序改错题 #include iostream using namespace std; class clock /public: void set_clock(void); voidshow_clock(void);/private:

12、 int hour; int minute; int second; ; clock clock; int main( ) clock.set_clock( );clock.show_clock ( ); /return 0 ; void clock:set_clock(void) cinhour; cinminute; cinsecond; void clock:show_clock(void) couthour:minute:secondendl; 第四章类和对象的进一步解析二、填空题 1 this2 所有成员3 友元类、友元函数 4 friend5 程序编译、程序结束 三、程序阅读题 1

13、 答案default constructor called. constructor called. 0,0 6,8 6,8destructor called. 0,0 destructor called.2 答案 x!=y3 答案initalizing default initalizing default 0 0destructor is active destructor is active4 答案 n=2,sum=2 n=3,sum=5 n=5,sum=105 答案 x=36 答案【篇三: c 面向对象程序设计习题与上机解答 -提交稿-陈维兴】txt 习题与上机实验题解答陈维兴 陈昕

14、编著人民邮电出版社目录第 1 章 面向对象方法概述1.1 习题参考解答第 2 章 c+ 的初步知识2.1 习题参考解答2.2 上机实验题参考解答第 3 章 类和对象3.1 习题参考解答3.2 上机实验题参考解答第 4 章 类和对象的进一步讨论4.1 习题参考解答4.2 上机实验题参考解答第 5 章 继承与派生5.1 习题参考解答5.2 上机实验题参考解答第 6 章 多态性与虚函数6.1 习题与参考解答6.2 上机实验题与参考解答第 7 章 运算符重载7.1 习题参考解答7.2 上机实验题参考解答第 8 章 模板8.1 习题参考解答8.2 上机实验题参考解答第 9 章 c+ 的输入和输出9.1

15、习题参考解答9.2 上机实验题参考解答第 10 章 异常处理和命名空间10.1 习题参考解答10.2 上机实验题参考解答第 11 章 综合设计与实现11.1 习题参考解答11.2 上机实验题参考解答第 1 章 面向对象方法概述1.1 习题参考解答【1.1】【解】面向过程程序设计的主要特征是:程序由过程定义和过程调用组成(所谓过程,简单地说 ,就是程序执行某项操作的一段代码 ,函数是最常用的过程。) ,从这个意义出发 , 基于面向过程的程序可以用以下的公式来表述 :程序 = 过程 + 调用【1.2】【解】面向过程程序设计中普遍采用的优化方法是使用结构化程序设计方法,其局限性至少有以下几个方面 :

16、(1) 面向过程程序设计方法开发软件的生产效率低下(2) 面向过程程序设计方法难以应付日益庞大的信息量和多样的信息类型(3) 面向过程程序设计方法难以适应各种新环境【1.3】【解】面向对象程序设计是一种新的程序设计范型。这种范型的主要特征是: 程序 = 对象 + 消息对于面向对象的程序设计,程序员注重的是类的设计和编写,即问题域中涉及几个类,各个类之间的关系如何,每个类包含哪些数据和函数(操作代码),再由类生成其对象。程序中的一切操作都是通过向对象发送消息来实现的 ,对象接收到消息后 ,启动有关方法(通过成员函数)完成相应的操作。【1.4】【解】现实世界中的对象 ,具有以下特性 : (1) 有

17、一个名字:每一个对象必须有一个名字 ,称为对象名 ,以区别于其他对象 ; (2) 有一组属性:用属性来描述它的某些特征,一般可以用数据来表示,所有的属性都有值 ; (3) 有一组行为 : 对象的行为或功能也称为方法,一般用一组操作来描述;(4) 有一组接口:除施加于对象内部的操作外,对象还提供了一组公有操作用于与外界接口,从而可以与其他对象建立关系。【1.5】【解】在面向对象程序设计中 ,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。 “类”就是具有相同的数据(属性)和相同的操作代码(函数)的一组对象的集合。类和对象之间的关系是抽象和具体的关系。类是多个对象进行综合

18、抽象的结果 ,一个对象是类的一个实例。【1.6】 什么是消息?【解】面向对象程序设计技术必须提供一种机制允许一个对象与另一个对象的交互。这种机制叫消息传递。一个对象向另一个对象发出的请求被称为 “消息 ”。【1.7】【解】在面向对象程序设计中的消息传递实际是对现实世界中的信息传递的直接模拟。调用对象中的函数就是向该对象传送一个消息 ,要求该对象实现某一行为 (功能)。对象所能实现的行为 (功能),在程序设计方法中称为方法 ,它们是通过调用相应的函数来实现的 ,在 c+ 语言中方法是通过成员函数来实现的。【1.8】【解】在面向对象程序设计中,抽象是通过特定的实例 (对象)抽取共同特性后形成概念的

19、过程。 c 和 c+ 中的数据类型就是对一批具体的数的抽象。例如, “整型数据 ”是对所有整数的抽象。封装是面向对象程序设计方法的一个重要特性 ,所谓封装具有两方面的含义:一是将有关的数据和操作代码封装在一个对象中 ,各个对象相对独立、相不干扰。二是将对象中某些数据与操作代码对外隐蔽 ,即隐蔽其内部细节 ,只留下少量接口 ,以便与外界联系 ,接收外界的消息。这种对外界隐蔽的做法称为信息隐蔽。信息隐蔽有利于数据安全 ,防止无关人员访问和修改数据。【1.9】【解】以面向对象程序设计的观点 ,继承所表达的是类之间相关的关系。这种关系使得某一类可以继承另外一个类的特征和能力。若类之间具有继承关系 ,则

20、它们之间具有下列几个特性 :(1) 类间具有共享特征 (包括数据和操作代码的共享 );(2) 类间具有差别或新增部分 (包括非共享的数据和操作代码 );(3) 类间具有层次结构。【1.10 】【解】从继承源来分 ,继承分为单继承和多继承。 单继承是指每个派生类只直接继承了一个基类的特征。例如 ,图 1.1表示了一种单继承关系。它表示 windows 操作系统的窗口之间的继承关系。图 1.1 单继承示意图多继承是指多个基类派生出一个派生类的继承关系。多继承的派生类直接继承了不止一个基类的特征。例如 ,小孩喜欢的玩具车即继承了车的一些特性 ,还继承了玩具的一些特征。如图 1.2 所示。图 1.2 多继承示意图【1.11 】【解】多态性是面向对象程序的重要特征。多态性是指不同的对象收到相同的的消息时执行不同的操作。例如 ,我们同样双击 window 系统桌面上的图标时,有的是打开多媒体播放器,有的是打开资源管理器。 多态性增强了软件的灵活性和重用性 ,为软件的开发与维护提供了极大的便利。尤其是采用了虚函数和动态联编机制后 ,允许用户以更为明确、易懂的方式去建立通用的软件。【1.12 】【解】面向对象程序设计的优点主要包括以下几个方面:(1) 可提高程序的重用性 有两种方法可以重复使用一个对象类 :一种方法是建立在各种环境下都能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论