下载此文档

C实验报告(虚基类).docx


文档分类:高等教育 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
C实验报告(虚基类).docx实验五Shape虚基类一、 实验目的掌握虚基类的定义、使用理解使用虚函数和继承类实现多态性二、 实验环境Windows+VC++。三、 实验内容及要求定义抽象基类Shape,有它派生出三个类:Circle、RectangleaTriangle,用函数ShowArea分别显示各种图形的面积,最后还要显示所有的图形面积。要求用基类指针数组,使他的每一个元素指向一个派生类对象。四、实验步骤(1)定义一个虚基类Shape,在ShowArea函数声明前冠以virtual使其成为虚函数,并且能够在派生类中重定义。〃形状类ShapeclassShape{public:virtualdoubleShowArea()cons1=0:};(2)定义三个派生类Circle、Rectangle、Triangle,并公有继承Shape基类。〃圆形CircleclassCirclc:publicShape{private:double:radius;//半径public:Circle(doubler):radius(r){}doubleShowArea()const//构造函数〃求圆形面积的函数returnPI*radius*radius;}};//矩形类RectangleclassRectangle:publicShape{亠private:doublehcigth;//高doublewidth;//宽public:Rectangle(doubleh,doublew):heigth(h),width(w){}//构造函数doubleShowAreaOconst//求矩形面积的函数{returnheigth^width;}};〃三角形类TriangleclassTriangle:publicShape{private:doublea,b,c;//三角形三条边public:Triangle(doublex,doubley,doublez):a(x),b(y),c(z){}//构造函数doubleShowAreaOconst//求三角形面积函数{intp=(a+b+c)/2;returnsqrt(p*(p-a)*(p-b)*(p-c));}}(3)在主函数中分别调用三个派生类的ShowArea函数,求出各个形状的面积。intmainO{CircleA();cout<<"圆形面积y:,,«()<<endl;//输出圆形面积cout«endl;RectangleB(3,4);cout〈〈"矩形面积y:Z,«()<<endl;//输出矩形面积cout<<cndl;TriangleC(5,3,4);cout〈<〃三角形面积y:〃〈<C・ShowArea()<<cndl;//输出三角形面积(4)定义一个基类指针数组p[3]二{&A,&B,&C},通过・>访问派生类对象的成员函数ShowArea,如p[0]->ShowArea()访问的是对象A的成员函数。doublearca=;Shape*讥3]={&A,&B,&C};//基类指针数组for(inti=0;i<3;i++){area=area+p[i]->ShowArea();//面积相加}cout«"总面积y:,,<<area<<endl;//输出总面积五、程序分析抽象类只能作为基类

C实验报告(虚基类) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ttteee8
  • 文件大小63 KB
  • 时间2019-07-10