资源描述:
《面向对象程序设计作业题参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、东北农业大学网络教育学院面向对象程序设计作业题参考答案作业题一答案1.答:类实际上是对某种类型的对象定义变量和方法的原型。我们可以利用相同种类的对象是相似的事实来为这些对象创建一个蓝图。对对象的软件蓝图叫做类。就象自行车制造商人,自行车的类需要定义一些实例变量来包括当前档位、当前速度等等。这个类需要定义实例方法来提供实施方法,如允许骑车者改变档位、刹车以及改变脚踏板的节奏等。2.答:对象是一些相关的变量和方法的软件集。软件对象经常用于模仿现实世界中我们身边的一些真实对象。对象是理解面向对象技术的关键。你可以发现现实世界中的对象有两个共同特
2、征:它们都有状态和行为。比如某条狗有自己的状态(比如名字、颜色、生育以及饥饿等等)和行为(比如摇尾巴等等)。同样某辆自行车也有自己的状态(比如当前档位、两个轮子等等)和行为(比如刹车、加速、减速以及改变档位等等)。3.答:假设有如下类classTdate{public:voidSet(int,int,int);intIsLeapYear();voidPrint();private:intmonth;intday;intyear;};//”.运算符”直接访问:Tdateoneday;oneday.Set(2,15,1998);//通过指针访
3、问:Tdateoneday;Tdate*sptr;sptr=&oneday;sptr->Set(2,15,1998);//通过引用访问:Tdateoneday;Tdate&srel=oneday;srel.Set(2,15,1998);4.答:这是个类的友元函数,不属于这个类,但可以访问该类的所有成员,无论这个成员是私有的还是共有的。(10)行,去掉关键字friend;(16)行及其后,改为floatpoint::distance(point&a){floatdx=X–a.X;floatdy=Y–b.Y;returnsqrt(dx*dx+
4、dy*dy);}5.参考程序//employee.h#ifndefEMPLOYEE#defineEMPLOYEEclassEmployee{public:Employee(char*n,char*a,char*c,char*s,char*z);voidChangeName(char*n);voidDisplay();protected:charname[20];charaddr[40];charcity[20];charstate[20];charzip[10];};#endif//employee.cpp#include"employe
5、e.h"#includeEmployee::Employee(char*n,char*a,char*c,char*s,char*z){strncpy(name,n,20);name[19]=' ';strncpy(addr,a,40);addr[39]=' ';strncpy(city,c,20);city[19]=' ';strncpy(state,s,20);state[19]=' ';strncpy(zip,z,10);zip[9]=' ';}voidEmployee::ChangeName(cha
6、r*n){strncpy(name,n,20);name[19]=' ';}voidEmployee::Display(){cout<#include“文件名.扩展名”两种格式。第一种:编译器根据目录出现的顺序分别查找各路径。第二种:编译器首先
7、在当前目录中查找,然后象前一种方式那样在标准路径下查找。2.答:分共有派生、私有派生和保护派生。共有派生中publicprotected权限不变,private变inaccessible.私有派生中public变private,protectedprivate变inaccessible.保护派生中publicprotected变protected,private变inaccessible.3.答:面向过程的程序设计方法的基本思想是:功能分解、逐步求精。当一些任务十分复杂以至无法描述时,可以将它拆分为一系列较小的功能部件,直到这些自完备的子
8、任务小到易于理解的程度。结构化程序设计成功地为处理复杂问题提供了有力的手段。但是当数据量增大时,数据与处理这些数据的方法之间的分离使程序变得越来越难以理解。而且对数据处理能力的需求越强,这种分