继承与派生.doc_第1页
继承与派生.doc_第2页
继承与派生.doc_第3页
继承与派生.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

昆明理工大学信息工程与自动化学院学生实验报告(20102011学年 第2学期)课程名称:双语版C+程序设计 上机教室:计算中心202 2010年 6月 1 日年级、专业、班计科103学号201010405331 姓名赵颜成绩实验项目名称继承与派生指导教师张力教师评语教师签名: 年 月 日一、上机内容和目的内容:1定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。 2定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3定义一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。 4(选做)从实验6中的people(人员)类派生出student(学生)类,添加属性:班号char classNO7;从people类派生出teacher(教师)类,添加属性:职务char principalship11、部门char departmentE21。从student类中派生出graduate(研究生)类,添加属性:专业char subject21、导师teacher adviser;从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类。类之间的关系如图71所示。目的:1学习定义和使用类的继承关系,定义派生类。2熟悉不同继承方式下对基类成员的访问控制。3学习利用虚基类解决二义性问题。二、上机步骤:打开计算机进入WindowsXP在D盘建立自己的工作目录进入Microsoft Visual C+ 6.0文件/新建/文件/C+ Source File/位置/命名输入源程序编译/组建运行四、源代码:(2)题#include using namespace std;class BaseClassprivate:int Number;public:BaseClass(int a=0)Number=a;cout这是基类函数的构造函数!endl; BaseClass()cout这是基类函数的析构函数!endl; ;class DerivedClass : public BaseClassprivate: int NUM;public:DerivedClass(int a=0,int b=0) : BaseClass(a)NUM=b;cout这是派生函数的构造函数!endl;DerivedClass()cout这是派生函数的析构函数!endl;int main()DerivedClass x(10,12);return 0;(3)题: #include using namespace std;class vehicleprivate: int MaxSpeed;int Weight;public:vehicle(int a=0,int b=0)MaxSpeed=a;Weight=b;cout最大速度为(构造):MaxSpeed 重量为(构造):Weightendl; void Run()cout开始跑!endl; void Stop()cout刹车!nendl; vehicle() cout基类的析构函数!endl; ;class bicycle : virtual public vehicleprivate:int Height;public:bicycle(int a=0,int b=0,int c=0) : vehicle(a,b)Height=c;cout自行车高度为(构造):Heightendl; bicycle()cout自行车析构函数!endl;class motorcar : virtual public vehicleprivate:int SeatNum;public:motorcar(int a=0,int b=0,int d=0) : vehicle(a,b)SeatNum=d;cout汽车座位数为(构造):SeatNumendl; motorcar()cout汽车析构函数!endl;class motorcycle : public bicycle,public motorcar public:motorcycle(int a=0,int b=0,int c=0,int d=0) : bicycle(a,b,c),motorca

温馨提示

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

评论

0/150

提交评论