C++面向对象程序设计教程(第3版)—-陈维兴,林小茶课后习题答案_第1页
C++面向对象程序设计教程(第3版)—-陈维兴,林小茶课后习题答案_第2页
C++面向对象程序设计教程(第3版)—-陈维兴,林小茶课后习题答案_第3页
C++面向对象程序设计教程(第3版)—-陈维兴,林小茶课后习题答案_第4页
C++面向对象程序设计教程(第3版)—-陈维兴,林小茶课后习题答案_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

面向c对象程序设计教程课后问题的回答1.1什么是面向对象的编程?面向对象编程是一种新的编程模式。 这个模型的主要特征是:程序-对象消息。面向对象程序的基本要素是对象。主要结构的特征如下第一,程序一般由类的定义和类的使用两部分组成其次,通过将消息发送至对象来实现程序中的所有操作。1.2什么是对象? 什么是班? 对象和类的关系是什么?描述属性的数据和通过封装添加到这类数据的一系列操作而构成的统一体。类是具有相同数据和相同操作的对象的集合。 也就是说,类是对具有相同数据结构和操作的对象的类的描述。类和对象的关系是抽象的和具体的关系。 类是将多个对象集成并抽象化的结果,一个对象是类的实例。1.3现实世界的对象有什么特征? 请举例说明。现实世界中的对象具有以下特征:1 )每个对象都需要一个名称,以与其他对象区分开来2 )用属性记述对象的特征3 )有一组操作,各组操作决定对象行为4 )对象的行为,一种是作用于自己的行为,另一种是作用于其他对象的行为。比如教师是对象。 每个教师都有自己的名字和其他教师区别开来。 教师具有号码、名字、年龄、角色、专业等属性。 教师具有走路、吃饭、上课等行为操作。 走路、吃饭是作用于自己的行为,上课是作用于其他对象的行为。1.4什么是新闻? 信息的性质是什么?从一个对象到另一个对象的请求是“消息”。消息有以下三个性质1 )相同对象可接收不同形式的消息并作出不同的对应2 )相同格式的消息可被传递到不同的对象,或被给出不同的响应3 )对消息不需要响应,并且对象可以响应于或不响应于该消息。1.5抽象和封装是什么? 请举例说明。抽象是总结和总结事物共性的过程。比如,把所有有大学生学籍的人分类成“大学生”是抽象的。封装是指将实现数据和操作的代码收集到对象内部,尽可能地隐藏对象内部的细节。例如,各洗衣机具有发货日期、机器编号等属性,也有启动、暂停、选择等操作。 人们在使用洗衣机时,只按对应的按钮,不在乎具体的内部实现。 这是包装。1.6什么是继承? 请举例说明。继承是指,派生类可以使用基类的数据和操作,从而派生类可以添加新的操作和数据。例如,哺乳动物是热血,有毛发,用乳养育孩子的动物,狗是犬齿,食肉,特定的骨架结构,群居的哺乳动物。 狗继承哺乳动物。1.7如果班级之间有继承关系,他们之间有什么特征?如果类之间存在继承关系,则类之间具有以下特征1 )班间共享特征(包括数据和操作代码的共享)2 )类之间有差异或有新部分(包括未共享的数据和操作代码)3 )类具有层次结构。1.8单继承、多继承是什么?请举例说明。单一继承是指每个派生类只能继承一个基类的特征。 比如狗是从哺乳动物那里继承下来的。所谓多继承,是指多个基类派生出的派生类的继承关系。 例如,玩具车是从玩具和车两方继承下来的。1.9什么是多态性? 请举例说明。多态性是指不同的对象接收到相同消息时执行不同的操作。例如,有一个窗口类的对象和一个棋子类的对象。 发出“移动”消息时,两个对象的行为不同。1.10面向对象编程的主要优点是什么?1 .可以提高程序的重用性2 .可控制程序的复杂性3 .可以改善程序的维护性4 .能更好地支持大程序设计5 .计算机处理信息的范围得到了加强能很好地适应新的硬件环境。简要叙述2.1的主要特征。1) C是c的超集,保持与c的互换性。2 )保持c的简洁性、效率性、接近汇编语言等特征,扩展了c的功能。 用c写的程序比c安全可读性高,代码结构合理。3 )程序质量高。4 )追加了面向对象的机构。2.2#include使用名称空间STD;int main ()装模作样PS、PS、PS、PS;cout Enter two numbers: ;cin a b;min=a b? b : a;for(d=2; d min; d )装模作样PK (PK )=0) (PKPK )断开;以下称为if (d=min )装模作样cout No common denominators endl;return 0;以下称为cout thelowstecommodenominator ds endl;return 0;以下称为2.3有效2.4没有函数宣言函数定义中没有写入返回值的类型。2.5 (1)等价,函数宣言可以省略参数的名称。(2)不是等价的,第二个函数定义不能省略参数的名称。2.6-2.10 CDAAB2.11-2.15 ACBDC2.16-2.17 DC2.181012.1910 102.2010202.21示例说明可以使用const代替#define来消除#define的安全性。#include使用名称空间STD;int main ()装模作样PS=1;#define T1 a a#define T2 T1-T1cout T2 is T2使用名称空间STD;int main ()装模作样int *pi=new int20;*pi=1;pi1=1;for(int i=2; i 20; I )装模作样pii=pii - 2 pii - 1;以下称为return 0;以下称为2.23重负载sroot函数输出一个数的平方根。#include使用名称空间STD;双根(int num )装模作样返回(双) sqrt (双) num )以下称为双根(长编号)。装模作样返回(双) sqrt (双) num )以下称为双根(双号)。装模作样返回(双) sqrt (数)以下称为int main ()装模作样return 0;以下称为2.24解决金钱问题。 把一元人民币换成一、二、五分硬币,有几种兑换方法?#include使用名称空间STD;int main ()装模作样int num=0; /合计换算法的总数。 初始化为0。for(int i=0; i=100; I )装模作样for(int j=0; j=50; j )装模作样if(i 2*j) 100 )装模作样break;以下称为for(int k=0; k=20; k )装模作样if(i 2*j 5*k)=100 )装模作样num;cout 1分钟 I个; 是“两分钟”个。 “五分钟“k”个。 “”endl;以下称为if (i 2*j 5*k) 100 )装模作样break;以下称为以下称为以下称为以下称为cout num endl;return 0;以下称为2.25输入两个整数,按从小到大的顺序输出。 需要参照变量。#include使用名称空间STD;void交换(int b,int b )装模作样a=a b;b=a - b;a=a - b;以下称为int main ()装模作样PS、PS;cin a b;国际航空公司装模作样交换(a,b )以下称为cout a, b endl;return 0;以下称为用二分法解2.26f(x)=0的根。#include使用名称空间STD;双函数(双x )装模作样return 35*x 25; /假设f(x)=35x 25以下称为int main ()装模作样双胞胎a、b;cin a;PS (PS )=0装模作样cout x= a endl;return 0;以下称为do装模作样cin b;以下称为while (Fun(a) * Fun(b)=0;PS (PS (b )=0)装模作样cout x= b endl;return 0;以下称为PS装模作样a=a b;b=a - b;a=a - b;以下称为while(1)装模作样PS (a b )/2 )=0)装模作样coutx=2endl;return 0;以下称为PK (PK ) * PK (PK )/2 )0)装模作样b=(a b)/2;以下称为PS (PS (b ) * AK (ab )/2 )0) )装模作样a=(a b)/2;以下称为以下称为return 0;以下称为第3.1类声明的一般形式是什么?class类别名称装模作样私有: 私有数据成员和成员函数公共:公共数据成员和成员函数以下称为3.2结构函数和结构函数的主要作用是什么? 各自有什么样的特性呢?构造函数是一种特殊的成员函数,主要用于为对象分配空间并初始化。构造函数的名称必须与类的名称相同,用户不能任意指定名称。 参数可以是任何类型,但不能是返回值的类型。析构函数通常用于执行清理任务,例如释放分配给对象的内存空间.的。语法函数名称与类名相同,但是必须先波浪。 没有返回值也没有参数。3.3什么是对象排列?对象数组是指每个数组元素都是对象的数组。什么是3.4this指针? 主要的作用是什么?c为成员函数提供名为this的指针。 这个指针叫自参照指针。 每次创建对象时,都将初始化this指针,以指向该对象。类中的所有对象都使用成员函数。 this指针可以帮助您认识到对象当前调用的是自己对象的数据成员和函数。3.5友元函数有什么作用?友元函数可以在班外访问班的私人成员,也可以保护

温馨提示

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

评论

0/150

提交评论