C面向对象程序设计教程—陈维兴林小茶课后习题答案.docx

上传人:h**** 文档编号:26779021 上传时间:2022-07-19 格式:DOCX 页数:9 大小:14.42KB
返回 下载 相关 举报
C面向对象程序设计教程—陈维兴林小茶课后习题答案.docx_第1页
第1页 / 共9页
C面向对象程序设计教程—陈维兴林小茶课后习题答案.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《C面向对象程序设计教程—陈维兴林小茶课后习题答案.docx》由会员分享,可在线阅读,更多相关《C面向对象程序设计教程—陈维兴林小茶课后习题答案.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C面向对象程序设计教程陈维兴林小茶课后习题答案 C+面向对象程序设计教程课后题答案 1.1 什么是面向对象程序设计? 面向对象程序设计是一种新的程序设计范型.这种范型的主要特征是: 程序=对象+消息 面向对象程序的基本元素是对象。 主要结构特点是: 第一,程序一般由类的定义和类的使用两部分组成; 第二,程序中的一切操作都是通过向对象发送消息来实现的。 1.2 什么是对象?什么是类?对象与类之间的关系是什么? 对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。 类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。

2、类和对象之间的关系是抽象和具体的关系。类是多个对象进行综合抽象的结果,一个对象是类的一个实例。 1.3 现实世界中的对象有哪些特征?请举例说明。 现实世界中的对象具有以下特征: 1) 每一个对象必须有一个名字以区别于其他对象; 2) 用属性来描述对象的某些特征; 3) 有一组操作,每组操作决定对象的一种行为; 4) 对象的行为可以分为两类:一类是作用于自身的行为,另一类是作用于其他对象的行为。 例如一个教师是一个对象。每个教师对象有自己的名字来和别的教师区别。教师具有编号,姓名,年龄,职称,专业等属性。教师拥有走路,吃饭,授课等行为操作。走路,吃饭是作用于自身的行为,授课是作用于其他对象的行为

3、。 1.4 什么是消息?消息具有什么性质? 一个对象向另一个对象发出的请求成为“消息”。 消息具有以下3个性质: 1) 同一个对象可以接收不同形式的多个消息,做出不同的相应; 2) 相同形式的消息可以传递给不同的对象,所做出的响应可以是不同的; 3) 对消息的响应并不是必须的,对象可以响应消息,也可以不响应。 1.5 什么是抽象和封装?请举例说明。 抽象是将有关事物的共性归纳、集中的过程。 例如:把所有具有大学生学籍的人归为一类,成为“大学生”,这就是一个抽象。 封装是指把数据和实现操作的代码集中起来放在对象内部,并尽可能隐藏对象的内部细节。 例如:每一台洗衣机都有出厂日期、机器编号等属性,也

4、有启动、暂停、选择等操作。人们在使用洗衣机的时候只需要按下对应的按钮,而不用关心具体的内部实现。这就是封装。 1.6 什么是继承?请举例说明。 继承就是允许派生类使用基类的数据和操作,同时,派生类还可以增加新的操作和数据。 例如:哺乳动物是一种热血、有毛发、用奶哺育幼崽的动物;狗是有犬牙、食肉、特定的骨骼结构、群居的哺乳动物。狗就继承了哺乳动物。 1.7 若类之间具有继承关系,则他们之间具有什么特征? 若类之间具有继承关系,则他们之间具有下列几个特征: 1) 类间具有共享特征(包括数据和操作代码的共享); 2) 类间具有差别或新增部分(包括非共享的数据和操作代码); 3) 类具有层次结构。 1

5、.8 什么是单继承、多继承?请举例说明。 单继承是指每个派生类只直接继承了一个基类的特征。例如狗继承自哺乳动物。 多继承是指多个基类派生出一个派生类的继承关系。比如玩具车同时继承自玩具和车。 1.9 什么是多态?请举例说明。 多态是指不同的对象收到相同的消息时执行不同的操作。 例如,有一个窗口类对象,还有一个棋子类对象。当我们发出“移动”消息时,两个对象的行为不同。 1.10 面向对象程序设计的主要优点是什么? 1.可提高程序的重用性; 2.可控制程序的复杂性; 3.可改善程序的可维护性; 4.能够更好地支持大型程序设计; 5.增强了计算机处理信息的范围; 能够很好地适应新的硬件环境。 2.1

6、 简述C+的主要特点。 1) C+是C的超集,保持与C的兼容。 2) 保持了C的简洁、高效和接近汇编语言等特点,并对C的功能作了不少扩充。用C+编写的程序比C更安全,可读性更好,代码结构更为合理。 3) 程序质量高。 4) 增加了面向对象机制。 2.2 #include using namespace std; int main() int a, b, d, min; cout a b; min = a b ? b : a; for(d = 2; d 100) break; for(int k = 0; k 100) break; cout a b; if(a b) swap(a, b); c

7、out a; if(Fun(a) = 0) cout b; while (Fun(a) * Fun(b) = 0); if(Fun(b) = 0) cout b) a = a + b; b = a - b; a = a - b; while(1) if(Fun(a + b)/2) = 0) cout x = (a + b)/2 endl; return0; if(Fun(a) * Fun(a + b)/2) 0) b = (a + b)/2; if(Fun(b) * Fun(a + b)/2) 0) a = (a + b)/2; return0; 3.1 类声明的一般格式是什么? class类

8、名 private: 私有数据成员和成员函数 public: 公有数据成员和成员函数 3.2 构造函数和析构函数的主要作用是什么?它们各自有什么特性? 构造函数是一种特殊的成员函数,它主要用于为对象分配空间,进行初始化。 构造函数的名字必须与类名相同,而不能由用户任意命名。它可以有任意类型的参数,但不能具有返回值类型。 析构函数通常用于执行一些清理任务,如释放分配给对象的内存空间等。 析构函数名与类名相同,但它前面必须加一个波浪号。不能有返回值,也不能有参数。 3.3 什么是对象数组? 所谓对象数组,是指每一个数组元素都是对象的数组。 3.4 什么是this指针?它的主要作用是什么? C+为成

9、员函数提供了一个名为this的指针,这个指针称为自引用指针。每当创建一个对象时,系统就把this指针初始化为指向该对象。 一个类的所有对象合用一份成员函数,this指针可以帮助对象辨别出当前调用的是自己的那个对象的数据成员和函数。 3.5 友元函数有什么作用? 友元函数可以在类的外部访问类的私有成员或保护成员。 3.6 (1)声明并定义了P2, P3,并用默认无参构造函数初始化。 (2)声明并定义了P2,并调用Point类的拷贝构造函数用P1对P2进行初始化。 (3)声明并定义了P2,并调用Point类的拷贝构造函数用P1对P2进行初始化。 (4)调用拷贝构造函数,将P1的成员值赋值给P4的成员。 3.7-3.10 BCCB 3.11-3.15 BAABA 3.16-3.17 BB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

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

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