c++ 计算图形的面积
Problem Description
定义一个图形基类Shape,在此基础上派生出长方形Rectangle和圆Circle,
使用Rectangle类派生正方形类Square。计算图形的面积。
请完善下面的程序。
//你的代码将被嵌在这里
int main()
{
Shape* ps;
Rectangle* pr;
double r;
cin >> r;
ps = new Circle(r);
cout << "The area of the Circle is " << ps->getArea() << endl;
delete ps;double l,w;
cin >> l>>w;
ps = new Rectangle(l, w);
cout << "The area of the Rectagle is " << ps->getArea() << endl;
delete ps;double s1;
cin >> s1;
ps = new Square(s1);
cout << "The area of the Square is " << ps->getArea() << endl;
delete ps;double s2;
cin >> s2;
pr = new Square(s2);
cout << "The area of the Square is " << pr->getArea() << endl;
delete pr;return 0;
}
Input Description
第1个数是圆的半径
第2、3个数是长方形的长和宽
第4个数是一个正方形的边长
第5个数是另一个正方形的边长
Sample Input
1 2 3 4 5
Sample Output
The area of the Circle is 3.14
The area of the Rectagle is 6
The area of the Square is 16
The area of the Square is 25
#include <iostream>
using namespace std;
constexpr double PI = 3.14;class Shape
{public:Shape(){}//基类要有构造函数virtual double getArea() = 0;//纯虚函数
};class Rectangle:public Shape
{public:double x, y;Rectangle(double a, double b){x = a;y = b;}double getArea(){return x * y;}Rectangle(){}
};class Circle :public Shape
{public:double R;Circle(double a){R = a;}double getArea(){return PI * R * R;}Circle(){}
};class Square :public Rectangle
{public:double k;Square(double a){k = a;}double getArea(){return k * k;}Square(){}
};int main()
{Shape* ps;Rectangle* pr;double r;//圆的半径cin >> r;ps = new Circle(r);//堆区创建一块新的内存,图形基类指针维护cout << "The area of the Circle is " << ps->getArea() << endl;//输出圆的面积delete ps;//手动释放堆区新建空间double l, w;//长方形长,宽cin >> l >> w;ps = new Rectangle(l, w);cout << "The area of the Rectagle is " << ps->getArea() << endl;delete ps;double s1;cin >> s1;ps = new Square(s1);cout << "The area of the Square is " << ps->getArea() << endl;delete ps;double s2;cin >> s2;pr = new Square(s2);//长方形类指针指向cout << "The area of the Square is " << pr->getArea() << endl;delete pr;return 0;
}
#include<iostream>
#include<string.h>
#include<string>
#include<iomanip>
#include<math.h>
using namespace std;
class Shape
{public:Shape(){}virtual double getArea() = 0;
};
class Rectangle :public Shape
{public:double c, k;Rectangle(double a=0, double b=0){c = a; k = b;}virtual double getArea(){return c * k ;}
};
class Circle :public Shape
{public:double r;Circle(double a=0.0){r = a;}virtual double getArea(){return 3.14 * r * r;}
};
class Square :public Rectangle
{public:double bc;Square(double a){bc = a;}virtual double getArea(){return bc * bc;}
};
c++ 计算图形的面积相关推荐
- 编程计算图形的面积(圆形,正方形,长方形)
编程计算图形的面积.程序可计算圆形.长方形.正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求输入半径值,对长方形要求输入长和宽的值,对正方形要求输入边长的值,计算出面积值后将其显示出来. ...
- test1 exam3编程计算图形的面积
程序可计算圆形.长方形.正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积的值后将其显示出来. #i ...
- 计算梯形面积的程序html,如何利用几何画板计算梯形的面积
作为一种几何绘图软件,不仅可以利用几何画板绘制很多图形,还可以计算图形的面积.本文就向大家介绍如何利用几何画板计算梯形的面积. 1.绘制上底.打开几何画板,使用线段工具绘制线段AB.使用点工具,在线段 ...
- 不规则图形数格子的方法_第25讲 不规则图形的面积 四年级奥数 格点和面积补充...
格点和面积 这一讲我们主要介绍利用格点求几何图形的面积,先来介绍什么叫"格点".见右图:这是一张由水平线和垂直线组成的方格纸,我们把水平线和垂直线相交的点称为"格点&qu ...
- Python函数之计算规则图形的面积
来个直接的吧,看代码; #coding=utf-8 from __future__ import unicode_literals import sys reload(sys) sys.setdefa ...
- 机器学习实现计算不规则图形面积_人教版小学数学五年级上册解决问题(不规则图形的面积)公开课优质课课件教案视频...
1 小数乘法PPT课件教案下载_小学数学人教版五年级上册师梦圆www.shimengyuan.com小数乘整数PPT课件教案下载_小学数学人教版五年级上册师梦圆www.shimengyuan.co ...
- 编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法
编写一个抽象类Shape,声明计算图形面积的抽象方法.再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法 ...
- Java实训报告----计算图形的周长和面积(保姆级,完整版)
结课项目需求 运用所学的知识,设计计算图形面积和周长的系统,要求用到对象和类,构造方法,继承,抽象类(或接口)和多态.实现如下功能: 根据菜单提示选择要计算的图像类型. 输入矩形的长和宽,计算矩形的面 ...
- 复杂图形求面积c语言,用CAD计算复杂图形面积的方法
在形状比较复杂(有直线和弧线在一起)的时候,如果原先没有描好边界线,要计算面积,则要使用多段线命令(pl) 来描好边界线,再用求面积命令(aa)并选对象(o)来求得已描好的图形的面积.以如下图形实例: ...
最新文章
- android系统的iphone,iPhone上安装Android系统详细步骤。
- html5标签 H5标签
- Play-With-Docker在chrome上的插件
- 基于HTML5 的人脸识别活体认证
- python字母后移5位加密_LabView对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d…...
- php 数组什么情况下是空的?
- 博客系统知多少:揭秘那些不为人知的学问(三)
- docker 删除包含关键字的镜像_30分钟带你轻松掌握Docker原理
- WPF/Silverlight Undo/Redo框架
- 面对亚马逊和谷歌的争夺战,小企业该如何生存?
- C++ 的门门道道 | 技术头条
- 新安装的wampserver怎么使用本机已有的mysql作为数据库
- 胡晓博:3月21日阿里云北京峰会ECS大神
- CodeCanyon上的12种最佳CSS动画
- MDClub一个漂亮轻量的开源论坛系统
- 人与机器人的交互理论及其前景
- matlab pwm整流仿真
- 如果您信任此演示文稿的来源_7个技巧将使您的演示文稿更上一层楼
- 提高工作效率的习惯与技巧
- win2003 服务器安全设置详细介绍