写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
来源:互联网 发布:卖男装的淘宝店铺 编辑:程序博客网 时间:2024/05/22 16:07
写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。
#include<iostream>using namespace std;class Shape{public:virtual float printArea() const {return 0.0;};};class Circle:public Shape{public: Circle(float =0); virtual float printArea() const {return 3.14159*radius*radius;}protected:float radius;};Circle::Circle(float r):radius(r){}class Rectangle:public Shape{public:Rectangle(float =0,float =0);virtual float printArea() const;protected:float height;float width;};Rectangle::Rectangle(float w,float h):width(w),height(h){}float Rectangle::printArea()const{return width*height;}class Triangle:public Shape{public:Triangle(float =0,float =0);virtual float printArea() const;protected:float height;float width;};Triangle::Triangle(float w,float h):width(w),height(h){}float Triangle::printArea()const{return 0.5*width*height;}void printArea(const Shape&s){cout<<s.printArea()<<endl;}int main(){Circle circle(12.6);cout<<"area of circle=";printArea(circle);Rectangle rectangle(4.5,8.4);cout<<"area of rectangle=";printArea(rectangle);Triangle triangle(4.5,8.4);cout<<"area of triangle=";printArea(triangle);}用基类指针数组,使它每个元素指向一个派生类对象,求面积之和。
Shape *p[3]={&circle,&rectangle,&triangle};double area=0.0;for(int i=0;i<3;i++) {area+=p[i]->printArea();}cout<<"total of all area= "<<area;
area of circle=498.759
area of rectangle=37.8
area of triangle=18.9
total of all area= 555.459
--------------------------------
Process exited after 0.4691 seconds with return value 0
请按任意键继续. . .
0 0
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
- 《第十三周任务三》写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求出定义的几个几何体
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和
- 第十三周【任务三】【任务3】写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。
- 第13周任务3(定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形))
- C++第十三周【任务3】定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
- 第十三周任务三(义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形))
- 飛飛(四十七)定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。
- 定义抽象基类Shape,由它派生出3个派生类,Circle、Rectangle、Triangle
- 第十四周 项目二:定义抽象类Shape,由此派生出Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
- Chapter12——声明抽象基类Shape,由它派生出3个派生类:Circle,Rectangle,Triangle,用一个printArea函数分别输出以上三者的面积,3个图形的数据在定义对象时给
- 十三周(三)定义抽象类shape,由它派生出三个派生类Circle,Rectangle,Triangle
- 第13周实验--任务3--定义抽象基类Shape,由它派生出3个派生类,Circle、Rectangle、Triangle。求出定义的3个几何体的面和。
- 第13周-任务3-抽象基类Shape及派生类Circle、Rectangle和Triangle
- 《C++第十三周实验报告3-1》---定义抽象基类Shape,由它派生出3个派生类
- 抽象基类Shape及派生类Circle、Rectangle和Triangle的实现
- 类的继承与派生(Shape例子派生Rectangle和Circle,Rectangle派生出Square)
- 项目中常用js方法整理common.js
- HTTP概述(一)
- 虫洞
- Linux常用命令
- 直通BAT面试算法---智力题2-赛马
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
- zy的秘密(secret)
- Servlet案例三
- SQL 之 视图(一)
- 资源勘探 纪中1282 vijos 1663 枚举+分类讨论
- 【codevs 1643】线段覆盖 3
- 数据库增删改操作(DML)
- Ubuntu 安装Eclipse
- UVA 147 Dollars 完全背包