18-郑传明-实验三

18-郑传明-实验三

ID:42459782

大小:71.50 KB

页数:4页

时间:2019-09-15

18-郑传明-实验三_第1页
18-郑传明-实验三_第2页
18-郑传明-实验三_第3页
18-郑传明-实验三_第4页
资源描述:

《18-郑传明-实验三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验三多态性实验课程名:面向对彖程序设计专业班级:14软件工程(1)班学号:201440450118姓名:郑传明实验吋间:2015.11.20实验地点:K4-206指导教师:邓丹科一、实验目的和要求1.了解两种多态性实现的方法;2.了解虚函数和纯虚函数的概念与应用,理解虚函数在类的继承层次屮的作用,虚函数的引用对程序运行时的影响,能够对使用虚两数的简单程序写岀程序结果;3.掌握抽象类的概念及使用方法。二、实验内容1.编写一个程序,计算Circle(圆形)、Square(正方形)、Rectangle(矩形)、Triangle(三角形)、Tr

2、apezoid(梯形)的面积与周长。(1)设讨一个图形抽象基类Shape类,以及由它派生出5个类Circle(圆形)类、Square(正方形)类、Rectangle(矩形)类、Triangle(三角形)类、Trapezoid(梯形)类;(2)在Shape类屮包括纯虚函数area和girth;(3)分别在Circle(圆形)类、Square(正方形)类、Rectangle(矩形)类、Triangle(三角形)类、Trapezoid(梯形)类屮定义这两个函数,用于计算面积和周长。(4)主函数中要求用基类指针数组,使它的每一个元素指向一个派生类

3、对彖,分别计算Circle(圆形)类、Square(正方形)类、Rectangle(矩形)类、Triangle(三角形)类、Trapezoid(梯形)类对象的面积和周长。解答:(1)源代码:#include〈iostream〉#includeusingnamespacestd;classShape{public:virtualdoublearea()const=0;virtualdoublegirth()const二0;};classCircleipublicShapeprivate:doubler;public:Circ

4、le(doublea){r=a;}virtualdoublearea()const{return3.1415*r*r;}virtualdoublegirth()const{return2*3.1415*r;}};classSquare:publicShape{private:doublea;public:Square(doubleal){a=al;}virtualdoublearea()const{returna*a;}virtualdoublegirth()const{return2*a;}};classRectangle:public

5、Shape{private:doublew;double1;public:Rectangle(doubleal,doublea2){w-al;l=a2;}virtualdoublearea()const{returnw*l;}virtualdoublegirth()const{return2*(w+I);}};classTriangle:publicShape{private:doublea;doubleb;doublec;public:Triangle(doubleal,doublea2,doublea3){a=al;b=a2;c=a3

6、;}virtualdoublearea()const{doubles;s=(a+b+c)/2;returnsqrt(s*(s-a)*(s-b)*(s-c));}virtualdoublegirth()const{returna+b+c;}};classTrapezoid:publicShapeprivate【doubleadoublebdoublecdoubledpublic-Trapezoid(doublealkoublea2koublea3koublea4)rHal-CHa3KHa4二virtu巴doublearea()const亠d

7、oubles八sAa+b+c+d)、2八returnsqrb(s*(sla)*(slb)*(SIC)*(sld))-virtualdoublegirth()cons-(returna+b+c+d二intmain。亠CircleCircle(2・0)八SquareSquare(3・0)八RectangleRectangle(4・p5・0);TriangleTrianglep1"2.2・3・1)-TrapezoidTrapczoidp3"4"5)-Shape*p〔5〕-p〔oH0circle;p〔lv0square八p〔2v$Rectangl

8、e-p〔3vwriangle_p〔4v$TrQPCZ0id_cout〈〈、、@-^"、、〈〈、、=n吕史"、、〈〈p〔sl〉area()〈〈、、2E^"、、〈〈p〔o〕l〉girth()〈

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。