实验十六继承和派生的基本概念汇总_第1页
实验十六继承和派生的基本概念汇总_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、实验十六 继承和派生的基本概念一、 实验目的 继承与派生是面向对象的特性,是面向对象程序设计模拟客观世界的手段之一, 本实验的内容包括介绍 MFC 基础类的派生关系,通过实验要求掌握以下内容。1 掌握类继承与派生关系以及实现方法,理解类的层次结构。2 掌握派生类构造函数初始化基类成员和对象成员的方法。3 掌握赋值兼容原则,掌握派生类的复制构造函数和赋值运算符的定义。二、 实验内容 1范例:定义一个继承与派生关系的类体系,在派生类中访问基类成员。先定 义一个点类,包含 x, y 坐标数据成员,显示函数和计算面积的函数成员;以点 为基类派生一个圆类,增加表示半径的数据成员, 重载显示和计算面积的函

2、数; 定义一个线段类, 以两 个点类对象作数据成员,定义显示、求面积及长度函数,线段类采用聚合方式, 因为有两个端点,不能用派生方式。编程测试所定义的类体系。程序】include viostream*include Point: :operator=(cir);確派生类中定义重载的拷贝赋值操作符有固定的标准 格式卩radius=cir. radius;return戶他主wdouble Area()return P Inradius radius;wvoid Show()3/访问基类的数据成员 2cout,x=,lx, ,l,y=,ly,1radius=1start ShuwO.z couten

3、d point nWend. Showf)/1intmam(X*Point ptCO,O), 4Circle tll(1007100,10)7cl2(cll)7cl3Linelnl(O.OJOOp10O)Jn2点面积:戸1加68()*31曲;4 pt.ShowO;coutcll圆面积;*dt.Area(Jendl;* ell ShowO;*1coutcl2 HI面积:“cl2 ATeaQendl;p dlShowO;*1cl3=cl1;coutcl3 圆面积: cl3.Area() endl; cl3.Show();cout线面积: ln1. Area()vvtv线长度:en dl;ln 1.

4、Show();ln 2.Show();return 0;【注意】在 Point 类中,将 Line 类定义为友元,便于在 Line和 y 定义为 Protected 访问权限,便于派生类访问。注意派生类的构造函数中对基类数据成员的初始化方法(即 Circle(double xv,doubleyv,double vv):Point(xv,yv) ), ln1. GetLength()类中访问;Point 类的 x以及构造函数中对对象成员的初始化方法(即 Line(double xv1,doubleyv1,double xv2,double yv2) : start(xv1,yv1),end(xv2,yv2) )【要求】( 1) 建立工程,录入上述程序,改变数据实验之。( 2) 修改 Point 类的数据成员 x ,y 的访问权限为 private ,再运行,结果 如何?( 3) 如果不将 Line 类设为 Point 类的友元,应采取什么措施?为哪个类增 加数据或函数成员?2编

温馨提示

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

评论

0/150

提交评论