Shape是一个几何图形的基类,它至少有求自身周长函数Circumference()和求自身面积函数Area()。从Shape类派生出Circle类、Ellipse类、Triangle类和Rectan
来源:互联网 发布:机械动态图制作软件 编辑:程序博客网 时间:2024/06/08 12:38
#include<iostream>
using namespace std;
#define PI 3.141592653
#include<math.h>
class Shape
{
public:
virtual float Circumference()=0;//求自身周长
virtual float Area()=0;//求自身面积
};
class Circle:public Shape
{
public:
Circle(float R)
{
CR=R;
}
float Circumference()
{
return 2*PI*CR;
}
float Area()
{
return float(PI*CR*CR);
}
private:
float CR;
};
class Ellipse:public Shape
{
public:
Ellipse(float a1,float b1)
{
a=a1;
b=b1;
}
float Circumference()
{
float temp1=(float)(1.5)*(a+b);
float temp2=(float)sqrt(a*b);
return (float)PI*(temp1-temp2);
}
float Area()
{
return float(PI*a*b);
}
private:
float a;
float b;
};
class Triangle:public Shape
{
public:
Triangle(float a1,float b1,float c1)
{
a=a1;
b=b1;
c=c1;
}
float Circumference()
{
return a+b+c;
}
float Area()
{
float p=(a+b+c)/2;
return (float)sqrt(p*(p-a)*(p-b)*(p-c));
}
private:
float a;
float b;
float c;
};
class Rectangle:public Shape
{
public:
Rectangle(float a1,float b1)
{
a=a1;
b=b1;
}
float Circumference()
{
return 2*(a+b);
}
float Area()
{
return float(a*b);
}
private:
float a;
float b;
};
void sum(Shape *p[4],int n,float &Cir,float &Are)
{
for(int i=0;i<n;i++)
{
Cir+=p[i]->Circumference();/*周长之和*/
Are+=p[i]->Area();/*面积之和*/
}
}
void main()
{
Shape *p[4];
Circle circle1(1.0);
Ellipse ellipse1(2.0,3.0);
Triangle triangle1(3.0,4.0,5.0);
Rectangle rectangle1(3.0,4.0);
p[0]=&circle1;
p[1]=&ellipse1;
p[2]=&triangle1;
p[3]=&rectangle1;
float Cir=0,Are=0;
sum(p,4,Cir,Are);
cout<<"周长总和"<<Cir<<endl;
cout<<"面积总和"<<Are<<endl;
}
- Shape是一个几何图形的基类,它至少有求自身周长函数Circumference()和求自身面积函数Area()。从Shape类派生出Circle类、Ellipse类、Triangle类和Rectan
- 定义一个Shape抽象类,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积,GetPerim()函数计算对象的周长
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和
- 飛飛(四十七)定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的main()函数,求出定义的几个几何体的面积和。
- java创建Shape类,求子类circle,圆形rectangle矩形,rhombus菱形的周长和面积
- Chapter12——声明抽象基类Shape,由它派生出3个派生类:Circle,Rectangle,Triangle,用一个printArea函数分别输出以上三者的面积,3个图形的数据在定义对象时给
- 《第十三周任务三》写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形)。用如下的mian()函数,求出定义的几个几何体
- 定义一个抽象类Shape,成员有图形名称(name)和求面积的抽象方法Area()
- 5.1(接口)1)定义shape接口,包含求面积和求周长的方法;2)定义Circle类、Rectangle类、Square类;
- 定义抽象基类Shape,由它派生出3个派生类,Circle、Rectangle、Triangle
- 类的继承与派生(Shape例子派生Rectangle和Circle,Rectangle派生出Square)
- 11周1--2以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试;
- 以Point为基类,派生出一个Circle(圆)类,增加数据成员r(半径),以及求面积的成员函数area,实现其他需要的成员函数,设计main函数完成测试
- 抽象基类Shape及派生类Circle、Rectangle和Triangle的实现
- 写一个程序,定义抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形)
- 第13周实验--任务3--定义抽象基类Shape,由它派生出3个派生类,Circle、Rectangle、Triangle。求出定义的3个几何体的面和。
- 十三周(三)定义抽象类shape,由它派生出三个派生类Circle,Rectangle,Triangle
- android-整体UI设计-(滑动导航栏+滚动页面)
- EFM32片内外设--TFT 汉字字库(续)
- 一个简单的完成端口(服务端/客户端)类
- Android 启动流程: Init.c 阅读笔记 .
- java之非桥接方式连接Access 2003数据库...
- Shape是一个几何图形的基类,它至少有求自身周长函数Circumference()和求自身面积函数Area()。从Shape类派生出Circle类、Ellipse类、Triangle类和Rectan
- 脚本读INI文件
- eclipse代码提示功能的设置
- linux 中安装与启动FTP服务
- S3C2440 AD转换器
- Linux下s3c6410的GPIO操作(4)
- Android AsyncTask 用法
- IO (一)
- 用DOM方式解析XML(使用JAXP工具)--第一天