浙大《面向对象程序设计》离线作业.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:3 大小:55KB 金币:18 举报 版权申诉
预览加载中,请您耐心等待几秒...

浙大《面向对象程序设计》离线作业.doc

浙大《面向对象程序设计》离线作业.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

18 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

奥鹏远程教育中心助学服务部http://www.open.com.cn心系天下求学人PageofNUMPAGES3专业专注周到细致浙大《面向对象程序设计》离线作业问答题什么是面向对象程序设计?(15分)答:面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。写出下列程序的运行结果。(15分)#include<iostream.h>voidf(int*m,intn){inttemp;temp=*m;*m=n;n=temp;}voidmain(){inta=5,b=10;f(&a,b);cout<<a<<""<<b<<endl;}构造函数和析构函数的主要作用是什么?它们各有什么特性?(15分)答:构造函数是一种特殊的方法主要用来在创建对象时初始化对象即为对象成员变量赋初始值.析构函数与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后”的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。构造函数有以下特性:1.构造函数的名字必须与类名相同;2.构造函数可以有任意类型的参数,但不能具有返回类型;3.定义对象时,编译系统会自动地调用构造函数;4.构造函数是特殊的成员函数,函数体可以在类体内,也可写在类体外;5.构造函数被声明为公有函数,但它不能像其他成员函数那样被显式调用,它是在定义对象的同时被调用的。析构函数有以下特性:1.析构函数的名字必须与类名相同,但它前面必须加一个波浪号~;2.析构函数没有参数,也没有返回值,而且不能被重载,因此在一个类中只能有一个析构函数;3.当撤销对象时,编译系统会自动地调用析构函数。写出下面程序的运行结果。(15分)#include<iostream.h>classtest{public:test();~test(){};private:inti;};test::test(){i=25;cout<<"Here'stheprogramoutput.\n";cout<<"Let'sgeneratesomestuff...\n";for(intctr=0;ctr<10;ctr++){cout<<"Countingat"<<ctr<<"\n";}}testanObject;main(){return0;}什么是多继承?多继承时,构造函数和析构函数执行顺序是怎么样的?(20分)答:多继承即一个子类可以有多个父类,它继承了多个父类的特性。多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个HYPERLINK"http://baike.baidu.com/view/535539.htm"\t"_blank"基类,派生类与每个基类之间的关系仍可看作是一个单继承。派生类构造函数的执行顺序是先执行所有基类的构造函数(顺序按照定义派生类时指定的各基类顺序),再执行派生类的构造函数,析构函数执行顺序,与构造函数完全相反(因为,数据是按栈存储的)。友元运算符函数和成员运算符函数有什么不同?(20分)答:友元不是类的成员函数,所以不能用类的对象调用。实现友元函数是不就能加作用域运算符了。但是友元和成员一样,都可以的、访问类的私有变量。所以友元破坏了数据的封装。