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++ 计算图形的面积相关推荐

  1. 编程计算图形的面积(圆形,正方形,长方形)

    编程计算图形的面积.程序可计算圆形.长方形.正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求输入半径值,对长方形要求输入长和宽的值,对正方形要求输入边长的值,计算出面积值后将其显示出来. ...

  2. test1 exam3编程计算图形的面积

    程序可计算圆形.长方形.正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积的值后将其显示出来. #i ...

  3. 计算梯形面积的程序html,如何利用几何画板计算梯形的面积

    作为一种几何绘图软件,不仅可以利用几何画板绘制很多图形,还可以计算图形的面积.本文就向大家介绍如何利用几何画板计算梯形的面积. 1.绘制上底.打开几何画板,使用线段工具绘制线段AB.使用点工具,在线段 ...

  4. 不规则图形数格子的方法_第25讲 不规则图形的面积 四年级奥数 格点和面积补充...

    格点和面积 这一讲我们主要介绍利用格点求几何图形的面积,先来介绍什么叫"格点".见右图:这是一张由水平线和垂直线组成的方格纸,我们把水平线和垂直线相交的点称为"格点&qu ...

  5. Python函数之计算规则图形的面积

    来个直接的吧,看代码; #coding=utf-8 from __future__ import unicode_literals import sys reload(sys) sys.setdefa ...

  6. 机器学习实现计算不规则图形面积_人教版小学数学五年级上册解决问题(不规则图形的面积)公开课优质课课件教案视频...

    1 小数乘法PPT课件教案下载_小学数学人教版五年级上册师梦圆​www.shimengyuan.com小数乘整数PPT课件教案下载_小学数学人教版五年级上册师梦圆​www.shimengyuan.co ...

  7. 编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法

    编写一个抽象类Shape,声明计算图形面积的抽象方法.再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法 ...

  8. Java实训报告----计算图形的周长和面积(保姆级,完整版)

    结课项目需求 运用所学的知识,设计计算图形面积和周长的系统,要求用到对象和类,构造方法,继承,抽象类(或接口)和多态.实现如下功能: 根据菜单提示选择要计算的图像类型. 输入矩形的长和宽,计算矩形的面 ...

  9. 复杂图形求面积c语言,用CAD计算复杂图形面积的方法

    在形状比较复杂(有直线和弧线在一起)的时候,如果原先没有描好边界线,要计算面积,则要使用多段线命令(pl) 来描好边界线,再用求面积命令(aa)并选对象(o)来求得已描好的图形的面积.以如下图形实例: ...

最新文章

  1. android系统的iphone,iPhone上安装Android系统详细步骤。
  2. html5标签 H5标签
  3. Play-With-Docker在chrome上的插件
  4. 基于HTML5 的人脸识别活体认证
  5. python字母后移5位加密_LabView对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d…...
  6. php 数组什么情况下是空的?
  7. 博客系统知多少:揭秘那些不为人知的学问(三)
  8. docker 删除包含关键字的镜像_30分钟带你轻松掌握Docker原理
  9. WPF/Silverlight Undo/Redo框架
  10. 面对亚马逊和谷歌的争夺战,小企业该如何生存?
  11. C++ 的门门道道 | 技术头条
  12. 新安装的wampserver怎么使用本机已有的mysql作为数据库
  13. 胡晓博:3月21日阿里云北京峰会ECS大神
  14. CodeCanyon上的12种最佳CSS动画
  15. MDClub一个漂亮轻量的开源论坛系统
  16. 人与机器人的交互理论及其前景
  17. matlab pwm整流仿真
  18. 如果您信任此演示文稿的来源_7个技巧将使您的演示文稿更上一层楼
  19. 提高工作效率的习惯与技巧
  20. win2003 服务器安全设置详细介绍

热门文章

  1. 不让苹果开发者账号折磨我
  2. [IOS APP]魔兽正史-魔兽世界有声小说
  3. Word学习笔记:P5-标尺和定位点要如何使用
  4. 博士申请 | 香港理工大学智能计算实验室招收机器学习方向全奖博士/RA/博后
  5. 近千只股票跌停 沪指暴跌281点创历史之最
  6. Linux中vgextend的含义,vgextend(8)
  7. python入门之字符串_03
  8. 软件测试基础面试常问问题(三)
  9. 如何选择语音短信通知平台?语音短信通知平台接入教程
  10. vba的change事件