第三次上机报告.doc
《第三次上机报告.doc》由会员分享,可在线阅读,更多相关《第三次上机报告.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、实验三学号: 姓名: 班级:软件工程141继承与派生(4学时)一、实验目得1.学习定义与使用类得继承关系,定义派生类。2.熟悉不同继承方式下对基类成员得访问控制。3.学习利用虚基类解决二义性问题。二、实验任务 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,瞧瞧会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试瞧。 2.定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数与析构函数得执行情况。 3、 分析并调试以下程序运行结果,并与实际运行
2、结果相对照。#include using namespace std;class Baseint x;public:Base(int i)x=i;coutConstuctor of Baseendl;BasecoutDestuctor of Baseendl;void showcoutx=xendl;class Derived:public BaseBase d;public:Derived(int i):Base(i),d(i)coutConstuctor of Derivedendl;DerivedcoutDestuctor of Derivedendl;int main( )Derive
3、d obj(5);obj、show;return 0; 4.定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(mot orcar)类有座位数(SeatNum)等属性。从bicycle与motorcar派生出摩托车(motorcycle)类。 在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试瞧。 5.设计people(人员)类,考虑到通用性,抽象出所有类型
4、人员都具有得属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。派生出student(学生)类,添加属性:班号char classNO7;从people类派生出teacher(教师)类,添加属性:职务char principalship11、部门char departmentE21。从student类中派生出graduate(研究生)类,添加属性:专业char subject21、导师teacher adviser;从graduate类与teacher类派生出TA(助教生)类,注意虚基类得使用。重载相应得成员函数,测试这些类。三、实验步骤 1、若将a
5、ge设置为私有成员,在其派生类中直接给其赋值,会出现错误提示: 将age设置为公有成员时,能正常运行 代码: #includeusing namespace std;class Animalpublic:int age;class dog:public Animalpublic:int setAge(int n)age=n; return age;int maindog d;coutd、setAge(3)endl;return 0; 运行结果为:2、执行情况为:(1)基类BaseClass得构造函数; (2)派生类DerivedClass得构造函数; (3)派生类DerivedClass得析取
6、函数; (4)基类BaseClass得析取函数; 代码: #includeusing namespace std;class BaseClasspublic:BaseClass Number=90;coutconstructor of BaseClass!endl; BaseClasscoutdestructor of BaseClass!endl;private:int Number;class DerivedClass:public BaseClasspublic: DerivedClasscoutconstrctor of DerivedClass!endl; DerivedClassc
7、outdestructor of DerivedClass!endl; ;int main DerivedClass der;return 0; 执行结果:3、分析:(1)执行Base得构造函数; (2)执行Derived得对象obj得Base类构造函数,并将obj(5)中参数5赋值给X及Derived类构造函数; (3)执行Derived类得对象obj得Derived得析取函数、在执行Derived类得obj得Base析取函数,最后执行与第一步相对应得Base得析取函数;执行结果:4、虚基类:使得在继承间接共同基类时只保留一份成员。 若不使用虚基类,在最终得派生类中会保留该间接共同基类数据成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三次 上机 报告
限制150内